Methoden AssertionError

denisdw

Mitglied
Hallo zusammen,

für diesen Code:

Java:
public class TemperaturKonverter {

    public static void main(String[] args) {
         TemperaturKonverter konverter = new TemperaturKonverter();
         System.out.println("0 Celsius sind " + konverter.konvertiereTemperatur(0.0, false) + " Fahrenheit");
         System.out.println("32 Fahrenheit sind " + konverter.konvertiereTemperatur(32.0, true) + " Celsius");

    }

    double konvertiereTemperatur(double temperatur, boolean richtung){
        if(richtung == true){
            return konvertiereFahrenheit(temperatur);
        }
        else {
            return konvertiereCelsius(temperatur);
        }
    }

    /* Benoetigte Methoden: 
    * konvertiereCelsius(Parameter temperatur vom Typ double, Rueckgabe double)
    * konvertiereFahrenheit(Parameter temperatur vom Typ double, Rueckgabe double)
    */
     
    double konvertiereCelsius(double temperatur){
        return temperatur + 32;
    }
     
    double konvertiereFahrenheit(double temperatur){
        return temperatur - 32;
    }
}

Bekomme ich folgende Fehlermeldung:

unbenanntagyfrj5z3n.jpg
[/url][/IMG]

Könnte vielleicht mir jemand einen Hinweis geben, wo ich den Fehler gemacht habe?

Vielen Dank im Voraus.
VG, Denis
 
K

kneitzel

Gast
Evtl. zeigst Du uns den Code von Deinen Unit-Tests - speziell den fehlgeschlagenen Tests.
 

denisdw

Mitglied
Vielen Dank für das Feedback.
@kneitzel: Es ist ein Web-Platform, habe leider keine Ergebnisse von JUnit.
@Dompteuer: was meinst Du genau mit falsch? Ich habe die Umrechnungformeln ausschließlich für die Fälle: 0 Celsius und 32 Farenheit genommen. Diese Formeln sind auch in diesem Fall eher sekundär.
 

JStein52

Top Contributor
Diese Formeln sind auch in diesem Fall eher sekundär.
Du weisst schon was das Problem war ? Dein eigens Programm hätte natürlich für die zwei gewählten Werte auch richtig umgerechnet weil da der Korrekturfaktor von 9/5 keine Rolle spielt. Der Fehler kam aber aus einem JUnit-Test der deine Konvertiermethoden mit irgendwelchen anderen Werten aufgerufen hat und da war natürlich das Ergebnis falsch.
 
K

kneitzel

Gast
Mein Verständnis ist, dass er da irgendwelche Dinge online macht - hört sich etwas nach einer Art Java Kurs an. Dann würde es ihm tatsächlich weniger um die Implementation einer Umrechnung gehen sondern mehr um das Erlernen irgendwelcher Java Grundlagen.

Aber etwas dubios finde ich es schon, dass jemand keinen Zugriff auf Unit Tests hat aber dann z.B. so einen Stacktrace bekommt. Aber super - in KonvertiereCelsiusTest.java in Zeile 20 gab es ein Problem :)

Und bei so einem Kurs hätte ich auch erwartet, dass da die genaue Formel, die implementiert werden soll, angegeben wird. (Kann natürlich auch übersehen worden sein.)

Aber wie dem auch immer sei: Dem TE konnten wir erst einmal weiterhelfen und falls es eine Art Kurs ist, wünschen wir ihm mal weiter viele Lernerfolge.
 

Dompteur

Top Contributor
Aber etwas dubios finde ich es schon, dass jemand keinen Zugriff auf Unit Tests hat aber dann z.B. so einen Stacktrace bekommt. Aber super - in KonvertiereCelsiusTest.java in Zeile 20 gab es ein Problem :)
Das scheint recht weit verbreitet zu sein. Die Schüler/Studenten müssen eine Aufgabe lösen und wenn sie glauben, dass sie fertig sind, geben sie die Lösung ab.
Dann laufen einige JUnit-Tests drüber und das Beispiel ist entweder grün oder man kann sich die Stacktraces anschauen.

Bei dem Beispiel sieht man zumindest, was als Ergebnis erwartet wird und was tatsächlich rauskommt.
Das ist nicht immer so. Eingabedaten werden ganz selten verraten.

Die Kursleiter können damit die Lösungen schnell bewerten und auch verhindern, dass die Lösung nur genau die JUnit-Tests löst.

Wenn man darin etwas positives sehen will, kann man sagen, dass die Kursteilnehmer dabei auch lernen, wie sie ihre Werke testen. ;-)
 
K

kneitzel

Gast
Jo, sowas wäre gut. Wobei ich suche eher etwas, dass die Anforderungen entgegen nimmt und dann das fertige Programm ausgibt. Wobei natürlich nicht die gesagten oder geschriebenen Anforderungen zählen sondern die eigentlichen Anforderungen, die die Zuständigen auch erst viel später merken!
 

Dompteur

Top Contributor
... Wobei ich suche eher etwas, dass die Anforderungen entgegen nimmt und dann das fertige Programm ausgibt. Wobei natürlich nicht die gesagten oder geschriebenen Anforderungen zählen sondern die eigentlichen Anforderungen, die die Zuständigen auch erst viel später merken!
Sind das nicht wir Programmierer, die so etwas täglich umzusetzen versuchen ?
 

Oben