Rechnungsbetrag berechnen

watle

Mitglied
Ich versuche gerade eine Rechnungsbetrag zu berechnen aber es funktioniert leider nicht. ich bekomme von JUnit folgende Fehlermeldung:
Java:
[junit] Testcase: testConstructorLegal took 0.006 sec
    [junit] Testcase: testToString took 0.004 sec
    [junit] Testcase: getRechnungsBetrag took 0.005 sec
    [junit] 	FAILED
    [junit] Falscher Rechnungsbetrag f�r ein Buch, das vor 31 Tagen ausgeliehen wurde. expected:<4.0> but was:<0.0>
    [junit] junit.framework.AssertionFailedError: Falscher Rechnungsbetrag f�r ein Buch, das vor 31 Tagen ausgeliehen wurde. expected:<4.0> but was:<0.0>
    [junit] 	at tests.reqTests.teil2.TestAusleihe.getRechnungsBetrag(TestAusleihe.java:244)
    [junit]

mein code:
ps. die Methode die aufgerufen werden wurden schon positiv von JUnit geprüft
Java:
/**
     * double getRechnungsBetrag() Gibt die Mahngebuehren (in Euro) fuer diese
     * Ausleihe zurueck. Die Ausleihe ist kostenlos innerhalb der zulässigen
     * Leihfrist. Fuer jeden Tag (bis zum aktuellen Datum/Uhrzeit), den das
     * Medium länger als die maximal zulässigen Leihfrist entliehen ist, ist bei
     * einem Buch eine Gebuehr von einem Euro, bei anderen Medien eine Gebuehr
     * von zwei Euro fällig. Der maximale Betrag beträgt fuer Buecher 30 Euro,
     * fuer andere Medien 60€.
     */
    public double getRechnungsBetrag() {
        double result = 0;
        if (tageUeberschritten() > 0) {
            if (medium.getClass().getName().equals(Buch.class.getName())) {
                if (tageUeberschritten() > 30) {
                    result = 30;
                } else {
                    result = tageUeberschritten();
                }
            }
            if (medium.getClass().getName().equals(CD.class.getName())
                    || medium.getClass().getName().equals(DVD.class.getName())) {
                if (tageUeberschritten() > 30) {
                    result = 60;
                } else {
                    result = 2 * tageUeberschritten();
                }
            }
            System.out.println("What for a mediun is that?");
        }
        return result;
}
Methode tageUeberschritten
Java:
/**
     * int tageUeberschritten() Gibt die Anzahl von Tagen zurueck (bis zum
     * aktuellen Datum/Uhrzeit), den das Medium länger als die maximal zulässige
     * Frist entliehen ist.
     */
    public int tageUeberschritten() {
        double temp = new GregorianCalendar().getTimeInMillis()
                - getAusleihEndedatum().getTimeInMillis();
        double temp2 = (double) (temp / (24.0 * 60.0 * 60.0 * 1000.0));

        double dayPlus = Math.ceil(temp2);
        if (dayPlus <= 0) {
            return (int) (dayPlus = 0);
        }
        return (int) dayPlus;
    }
danke mir zu helfen
 
Die Methode habe ich selbst nicht getestet sondern durch eine Uni-Plattform testen lassen.
oder meinst du den ganze code der Klasse Ausleihe?
 

Zurück
Oben