Servus zusammen,
ich arbeite aktuell an einer Übungsaufgabe stehe aber aktuell total aufm Schlauch und poste nun aus Verzweiflung in dieses Forum.
Meine Aufgabe: eine größere Aufgabe, dies hier ist der letzte Teil: Auf jeden Fall soll ich einen JUnit Test schreiben dabei 5 Instanzen von Kunden erstellen und diese über das enum "SORT BY ID" nach der Kundennummer sortieren lassen.
Ich füge also einer ArrayList die Kunden Objekte hinzu und lasse sie über das enum sortieren, dies greift auf den comparator zu etc.
Naja auf jeden Fall soll ich nun damit: Fügen Sie abschließend einen JUnit5-Test hinzu, in dem Sie eine Liste mit mindestens 5 Kunden-Instanzen nach der ID sortieren lassen und die korrekte Reihenfolge unter Verwendung der reduce-Methode von Stream und einem Lambda-Ausdruck über– prüfen lassen. Für die Überprüfung darf die compareTo-Methode nicht verwendet werden, da diese ja damit getestet werden soll.
Ich suche nun seit Stunden danach wie ich eine Liste nach einem int mit reduce sortieren lassen kann? Aber finde einfach keine vernünftige Lösung. Stehe ich total aufm Schlauch? Habe ich irgendwie die Anforderung nicht verstanden? -> Ich soll doch zeigen das quasi mit der reduce methode und einem lambda dass gleiche raus kommt wie bei Collections.sort(liste)? Also dieselbe Liste.
Ansätze:
ich denke mal ich muss auf die ArrayList die stream methode aufrufen und dann die reduce methode dort dann mit einem lambda die methode von reduce überschreiben (aber einfach keine Ahnung wie...) und das gibt mir dann irgendwie die Liste sortiert zurück?
Aus den Java docs werde ich irgendwie auch nicht schlauer...
Hoffentlich versteht jemand mein Wirrwarr und kann mir auf die Sprünge helfen! Ich wäre enorm dankbar!
Viele Grüße
LeeSin
ich arbeite aktuell an einer Übungsaufgabe stehe aber aktuell total aufm Schlauch und poste nun aus Verzweiflung in dieses Forum.
Meine Aufgabe: eine größere Aufgabe, dies hier ist der letzte Teil: Auf jeden Fall soll ich einen JUnit Test schreiben dabei 5 Instanzen von Kunden erstellen und diese über das enum "SORT BY ID" nach der Kundennummer sortieren lassen.
Java:
Kunde k1 = new Kunde(1, "Neuer", "Manuel", "Bayern");
Kunde k2 = new Kunde(2, "Reus", "Marco", "Dortmund");
Kunde k3 = new Kunde(3, "Ibrahimovic", "Zlatan", "Miland");
Kunde k4 = new Kunde(4, "Rashford", "Marcus", "London");
Kunde k5 = new Kunde(5, "Götze", "Mario", "Frankfurt");
List<Person> kunden = new ArrayList<>();
@Test
void testSortByID() {
kunden.add(k1);
kunden.add(k2);
kunden.add(k3);
kunden.add(k4);
kunden.add(k5);
Kunde.setSort(Sortierkriterien.SORT_BY_ID);
//Hier dann den Test machen?
// assertEquals(liste mit Stream und reduce sortieren, Collections.sort(kunden));
Ich füge also einer ArrayList die Kunden Objekte hinzu und lasse sie über das enum sortieren, dies greift auf den comparator zu etc.
Naja auf jeden Fall soll ich nun damit: Fügen Sie abschließend einen JUnit5-Test hinzu, in dem Sie eine Liste mit mindestens 5 Kunden-Instanzen nach der ID sortieren lassen und die korrekte Reihenfolge unter Verwendung der reduce-Methode von Stream und einem Lambda-Ausdruck über– prüfen lassen. Für die Überprüfung darf die compareTo-Methode nicht verwendet werden, da diese ja damit getestet werden soll.
Ich suche nun seit Stunden danach wie ich eine Liste nach einem int mit reduce sortieren lassen kann? Aber finde einfach keine vernünftige Lösung. Stehe ich total aufm Schlauch? Habe ich irgendwie die Anforderung nicht verstanden? -> Ich soll doch zeigen das quasi mit der reduce methode und einem lambda dass gleiche raus kommt wie bei Collections.sort(liste)? Also dieselbe Liste.
Ansätze:
ich denke mal ich muss auf die ArrayList die stream methode aufrufen und dann die reduce methode dort dann mit einem lambda die methode von reduce überschreiben (aber einfach keine Ahnung wie...) und das gibt mir dann irgendwie die Liste sortiert zurück?
Aus den Java docs werde ich irgendwie auch nicht schlauer...
Hoffentlich versteht jemand mein Wirrwarr und kann mir auf die Sprünge helfen! Ich wäre enorm dankbar!
Viele Grüße
LeeSin