Aufgabenstellung:
Schreiben Sie eine Klasse ZeichenkettenTest mit einer Methode testVerkuerze, die keine Argumente annimmt. Sie soll eine Methode verkuerze in einer Klasse Zeichenketten mit unterschiedlichen Eingaben testen und dadurch eventuelle Fehler aufdecken. testVerkuerze gibt die Zeichenkette "richtig" zurück, wenn das Ergebnis der Methode in allen Testfällen der erwartete Wert war, oder sonst für den ersten fehlerhaften Aufruf "falsch: s=|...| n=... erwartet=|...| war=|...|" mit den entsprechenden Wertangaben.
Mein Ansatz/Überlegung:
Wenn ich die Tests in die main methode schreibe und teste, gibt sie mir das richtige aus.
Nur soll ich ohne main hoch laden, da der 'Praktomat' die Testmethode wiederum testet.
Den Fehler spuckt er aus:
Jemand ne Idee?
Schreiben Sie eine Klasse ZeichenkettenTest mit einer Methode testVerkuerze, die keine Argumente annimmt. Sie soll eine Methode verkuerze in einer Klasse Zeichenketten mit unterschiedlichen Eingaben testen und dadurch eventuelle Fehler aufdecken. testVerkuerze gibt die Zeichenkette "richtig" zurück, wenn das Ergebnis der Methode in allen Testfällen der erwartete Wert war, oder sonst für den ersten fehlerhaften Aufruf "falsch: s=|...| n=... erwartet=|...| war=|...|" mit den entsprechenden Wertangaben.
Mein Ansatz/Überlegung:
Java:
public class ZeichenkettenTest {
public static void testVerkuerze(String s, int n, String erw) {
testVerkuerze("Fachhochschule", 3, "Fac[...]ule");
testVerkuerze("Abrakadabra", 2, "Ab[...]ra");
testVerkuerze("Hallo", 0, "Hallo");
testVerkuerze("Hallo", -2, "Hallo");
// Paar Ideen zum Testen
String erg = Zeichenketten.verkuerze(s,n);
if (!erg.equals(erw)) {
System.out.println("falsch:" + "s=" + s + " n=" + n + " erwartet=" + erw + " war=" + erg);
}
else {
System.out.println("richtig");
}
}
Wenn ich die Tests in die main methode schreibe und teste, gibt sie mir das richtige aus.
Nur soll ich ohne main hoch laden, da der 'Praktomat' die Testmethode wiederum testet.
Den Fehler spuckt er aus:
Code:
PreTest.java:22: error: method testVerkuerze in class ZeichenkettenTest cannot be applied to given types;
assertEquals(normalize(ZeichenkettenTest.testVerkuerze()), normalize("richtig"));
^
required: String,int,String
found: no arguments
reason: actual and formal argument lists differ in length
PreTest.java:29: error: method testVerkuerze in class ZeichenkettenTest cannot be applied to given types;
assertEquals(normalize(ZeichenkettenTest.testVerkuerze().substring(0,7)), normalize("falsch:"));
Jemand ne Idee?