import 'package:flutter_test/flutter_test.dart'; import 'package:melo/library/such_verlauf.dart'; /// Die Reihenfolge-Regeln des Verlaufs — ohne SharedPreferences prüfbar. void main() { group('verlaufMit', () { test('legt den neuen Begriff nach vorn', () { expect(verlaufMit(['neoni', 'rock'], 'trap'), ['trap', 'neoni', 'rock']); }); test('ein erneut gesuchter Begriff wandert nach vorn statt sich zu doppeln', () { expect(verlaufMit(['neoni', 'rock'], 'rock'), ['rock', 'neoni']); }); test('Groß- und Kleinschreibung gilt als derselbe Begriff', () { expect(verlaufMit(['Rock'], 'rock'), ['rock']); }); test('Leerraum am Rand zählt nicht mit', () { expect(verlaufMit(['rock'], ' rock '), ['rock']); }); test('deckelt bei acht Einträgen', () { final voll = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']; final neu = verlaufMit(voll, 'i'); expect(neu.length, 8); expect(neu.first, 'i'); // Der älteste fällt hinten heraus. expect(neu, isNot(contains('h'))); }); test('ein leerer Begriff ändert nichts', () { expect(verlaufMit(['rock'], ' '), ['rock']); }); test('lässt die Ausgangsliste unverändert', () { final vorher = ['rock']; verlaufMit(vorher, 'trap'); expect(vorher, ['rock']); }); }); }