Ich habe versucht, eine unveränderliche binäre Suchbaum Datenstruktur zu erstellen. Jetzt, da ich in der Entwicklung so weit gekommen bin, versuche ich die Methoden zu testen, die ich erstellt habe. Bis jetzt läuft es gut.j-unit testen Unveränderlich binäre Suche Baum Methoden hinzufügen
Mein Add-Methode, wie es steht:
@Override
public Set<T> add(T t) {
if (t.compareTo(x) == 0) {
return new Add<T>(x, left, right);
} else {
if (t.compareTo(x) < 0) {
return new Add<T>(x, left.add(t), right);
} else {
return new Add<T>(x, left, right.add(t));
}
}
}
Die toString die ich denke, das Problem verursacht:
@Override
public String toString(){
return "";
}
und die Unit-Test:
@Test
public void SetAddElements(){
activeSet = newSet.add(1);
assertEquals("The element(s) were not added!", 1 , activeSet.add(1));
}
jedoch meine .add() -Methode scheint meinen Komponententest zu scheitern. Nach dem, was ich abgeleitet habe, gibt die toString-Methode meiner Empty-Klasse Leerraum zurück, was bedeutet, dass anstelle des Ergebnisses meines Unit-Tests (erwartet: < 1>): (< 1>, aktuell: < 1>) zurückgegeben wird. Ein kleiner Unterschied, aber genug für den Test fehlgeschlagen.
junit test results and error report
Ich habe versucht, die toString Methode zu entfernen, aber offensichtlich ist dies gibt nur das Standard-toString und attemoted mit api und so zu erforschen, aber kam mit nichts. Ich bemühe mich, die Frage in einer genauen Darstellung des Problems zu formulieren. Jede Hilfe würde sehr geschätzt werden.
sollten Sie die toString Funktion mit dem Standard-TObject.toString + Ihre eigene Klasse Funktionalität zum Beispiel implementieren, wenn es sich um eine Sammlung Klasse wie Arrays ist –