Ich versuche gerade eine Rechnungsbetrag zu berechnen aber es funktioniert leider nicht. ich bekomme von JUnit folgende Fehlermeldung:
mein code:
ps. die Methode die aufgerufen werden wurden schon positiv von JUnit geprüft
Methode tageUeberschritten
danke mir zu helfen
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;
}
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;
}