Du könntest entweder eine sortierte Liste selbst zusammen bauen, sprich so wie sie nach der Sortierung aussehen soll oder du verwendest eine andere Collection, sortierst die Liste. Um zu testen ob die Liste korrekt sortiert wurde assertest du die sortierte Liste mit der entweder selbst gebauten Liste oder anders sortierten Liste
was hast du von der Methode die sortirt etwas und das wird nicht benutzt. Sinnlose Methode
Dann vielleicht die Liste als Instanzvariable und nicht lokal.
Der Methode auch die zu sortierende Liste auch übergeben und nicht in der Methode selber erzeugen.
Dann könntest du die übergebene auch bearbeiten und prüfen.
Vielen Dank.
Ok, gehen wir weiter, da kann ich folgendes tun, tippe am Handy:
Java:
publicvoidsorted(){//sortiert eine locale listesorted(list);}publicvoidsorted(List list){//sortiert irgendeine Liste...}
wie kann ich nun sorded(list) testen ;-)?
Bei jedem Test hast du - wie im anderen Therad beschrieben:
Vorbereitung eines Zustandes
Dann die Aktion
Dann den Test, ob die Aktion erfolgreich war.
Also bei einer Methode sort(List) (sorted ist ein Adjektiv und kein Verb! Methoden sollten immer ein Verb beinhalten und ausdrücken, was sie tun. Hier sortiert die Methode etwas:
Schaffen einer List, die nicht sortiert ist
Aufrufen: sort(list)
Prüfen, ob die Liste sortiert ist.
Und da sollte man sich auch überlegen, was man alles testen könnte:
Liste ist schon sortiert -> darf nicht verändert werden
Ganz am Anfang ist ein Element, das nach hinten muss
Ganz am Ende ist ein Element, das weiter nach vorne muss.
Das nur um ein paar Anhaltspunkt zu geben. Aber natürlich auch immer das typische:
Leere Liste
Liste mit nur einem Element
Du du etwas vorgibst, kannst Du das auch alles selbst testen. Du kannst also aufrufen:
Java:
List<Integer> list =List.of(3,2,1);ListUtils.sort(list);assertAll(()->assertEquals(1, list.get(0)),()->assertEquals(2, list.get(1)),()->assertEquals(3, list.get(2)),()->assertEquals(3, list.size()));
Das wäre die ganz primitive Prüfung. Wenn das durch andere Methoden auch schon geprüft werde könnte, dann kannst Du die ggf. auch nutzen.