Java Konto
Es sei der folgende JUnit Test gegeben
Das Programm stellt eine primitive Kontoverwaltung dar mit den folgenden Eigenschaften:
Es können Instanzen von einer Klasse Konto erzeugt werden, wobei ein Konto einen besitzer und einen kontostand enthält. Der Test überprüft, ob ein Konto mit dem richtigen Kontostand erzeug worden ist. Alle Konten werden im Array konten gespeichert. Der Test überprüft, ob nach einer Überweisung die Summe aller Konten unverändert geblieben ist. Wenn das nicht der Fall wäre, dann würde bei einer Überweisung Geld verloren gehen.
package oost3;
import static org.junit.Assert.*;
import org.junit.Test;
public class KontoTest {
Konto[] konten = new Konto[2];
@Test
public void test1() {
// Eröffne Konto für Fischer mit Guthaben 500
Konto ktoFischer = new Konto("Fischer", 500);
konten[0] = ktoFischer;
assertEquals(500, ktoFischer.getKontostand());
// Eröffne Konto für Popp mit Guthaben 600
Konto ktoPopp = new Konto("Popp", 600);
konten[1] = ktoPopp;
assertEquals(600, ktoPopp.getKontostand());
// stand speichert die Summe aller Kontostände
int stand = summeAllerKonten(konten);
// Überweise 99 von ktoFischer auf ktoPopp
int ignore = ktoFischer.ueberweise(ktoPopp, 99);
// Nach der Überweisung muss die Summe aller
// Kontostände unverändert sein
assertEquals(stand, summeAllerKonten(konten));
}
}
Es fehlt die Methode summeAllerKonten. Wie wird diese implementiert?
Und wie sieht die Klasse Konto aus, damit KontoTest erfolgreich ausgeführt werden kann.? Wenn man einen Getter und Setter für kontostand verwendet? Danke
1 Antwort
Willst du jetzt mithilfe des JUnit-Tests ein Programm darstellen? Du hast das Programm ja eigentlich schon selber ganz gut erklärt. du erstellst erstmal eine class Konto. Im Konstruktor werden im JUnit-test ja schon mal 2 Parameter genannt, ein String für Name und eine Integer für das Geld im Konto. Getter und Setter Methoden sind ja trivial, also für die getter Methoden einfach ne Methode mit return this.Kontostand oder wie auch immer du die nennst :D bei der setter Methode einfach ne** void bei der du den Parameter gleich this.Kontostand** setzt. Nun brauchst du nur noch die Überweisungs Methoden. Hier einfach als Parameter ein Konto setzen und dann, mithilfe der setter Methode von dem Parameter-Konto Kontostand -= 99 setzen und das** this.Kontostand += 99** setzen. Ganz einfach :D SummeAllerKonten würde ich als Methode in der void selbst einfach schreiben da du hier ja keine gettermethode für ne static hast, (Was ich hier empfehlen würde) sondern einfach eine int-Methode hast. Da kannst du dann einfach eine foreach Schleife machen, also for(Konto k : Konten) bei der die Methode dann einer vorher neu deklarierten Variable den Kontostand mit der getter-Methode hinzufügt, also neue Var += k.getKontostand(); Ich kann dir gerne mal meine Lösung schicken, will dir die nicht vorkauen, :D hast du aber Probleme damit schick ich sie dir sofort. MFG yxasika