Ich will einen JUnit Test für eine toString Methode erstellen und habe das Problem, dass am Ende zwei identische Strings als nicht identisch angesehen werden und der Test somit negativ ausfällt. Habe auch schon überprüft ob sich irgendwo Tippfehler oder Leerzeichen eingeschlichen haben aber konnte nichts finden.
Java:
@BeforeEach
void setUp() {
testWineCrate1 = new WineCrate("TestWineCrate1", 10, true);
testWineCrate2 = new WineCrate("TestWineCrate2", 10, false);
testWineCrate3 = new WineCrate("TestWineCrate3", 10, true);
testStillage1 = new Stillage<WineCrate>(20);
testStillage2 = new Stillage<WineCrate>(50);
}
@Test
void toStringTest() {
String testString = "Lieferschein:";
testString += "\n- TestWineCrate1, Gesamtgewicht 20kg, 10 Flaschen";
testString += "\n- TestWineCrate2, Gesamtgewicht 30kg, 10 Flaschen";
testStillage2.loadStillage(testWineCrate1, testWineCrate2);
assertEquals(testString, testStillage2.toString());
}
}
Java:
public String toString() {
String output = "Lieferschein:";
for (int i = 0; i < collection.size(); i++) {
output += "\n" + collection.get(i).toString();
}
return output;
}
Java:
public WineCrate(String description, int numberOfBottles, boolean isEuBottle) {
super(calculateWeight(numberOfBottles, isEuBottle), description);
this.numberOfBottles = numberOfBottles;
}
private static int calculateWeight(int numberOfBottles, boolean isEUBottle) {
if (isEUBottle) {
return numberOfBottles * 2;
} else {
return numberOfBottles * 3;
}
}
public String toString() {
return "- " + this.description + ", " + "Gesamtgewicht " + this.weight + " kg, " + numberOfBottles
+ " Flaschen";
}