Testmethode schreiben fiese Falle... Java?

Hallo!

In Software-Entwicklung 2 haben wir ein Java Projekt bekommen. Es ist eine Mediathek in welcher man CDs, DVDs und Videospiele ausleihen kann. Nun habe ich eine Aufgabe gestellt bekommen:

Die Mediathek möchte nun noch Bücher ausleihen. Es gibt eine Methode berechneMietgebuehr, welche als Parameter int mietTage entgegeben nimmt und einen Geldbetrag in Eurocent zurückgibt. Hierzu sei gesagt, dass der Zurückgegebene Wert kein int ist, sondern ein Objekt aus einer Klasse "Geldbetrag". Die Mietgebühr sollte sich folgendermaßen berechnen lassen: 500+mietTage*100 für mietTage >= 0. (Wobei ich persönlich den Fall mietTage = 0 eher blöd finde...)

Nun soll ich eine Testmethode schreiben in dem ich assertEquals benutzte und ein Testexemplar _buch1. Das Problem ist, dass wir laut der Aufgabenstellung nicht wissen wie berechneMietgebuehr wirklich implementiert wurde. Ich habe das erstmal so gemacht:

public void testBerechneMietgebuehr()

{

Geldbetrag geld = new Geldbetrag(700);

assertEquals(geld,_buch1.berechneMietgebuehr(2));

}

Jetzt kommt folgendes Problem. Ich bekomme als Rückmeldung:

Bedeutet: Nun wird mir gesagt, wie berechneMietgebuehr implementiert ist. Und egal was ich bei assertEquals hinein schreibe, die Methode "passt sich an":

Ich weiß nicht wie ich das "umgehen" kann... Ich habe schon versucht alles mal private zu machen oder, damit nicht mehr darauf zugegriffen werden kann, aber das funktioniert auch nicht.

Ich hoffe ihr habt einen Tipp oder vielleicht auch Fragen, falls ich es nicht gut erklären konnte. Danke und LG!

Bild zu Frage
Computer, programmieren, Java, testen, Informatik, Moodle

Meistgelesene Fragen zum Thema Moodle