Online-Shop/BestellungTest.java

61 lines
2.1 KiB
Java

package pckg.Backend;
import pckg.Backend.Produkt;
import pckg.Backend.Warenkorb;
import pckg.Backend.Bestellung;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
class BestellungTest {
private Warenkorb warenkorb;
private Produkt apfel;
private Produkt birne;
@BeforeEach
void setUp() {
// Mock-Daten vorbereiten: Wir brauchen Produkte und einen Warenkorb
apfel = new Produkt(1, "Apfel", 0.2, 1.50, 7, 100);
birne = new Produkt(2, "Birne", 0.2, 2.00, 7, 100);
warenkorb = new Warenkorb();
warenkorb.produktHinzufügen(apfel, 2); // 3.00€
warenkorb.produktHinzufügen(birne, 1); // 2.00€
// Gesamtpreis sollte 5.00€ sein
}
@Test
void testBestellungInitialisierung() {
Bestellung bestellung = new Bestellung("Max Mustermann", "Musterstraße 1, Berlin", warenkorb);
assertEquals("Max Mustermann", bestellung.getName());
assertEquals("Musterstraße 1, Berlin", bestellung.getAdresse());
assertEquals(5.00, bestellung.getGesamtpreis(), 0.001, "Der Gesamtpreis wurde nicht korrekt übernommen.");
assertEquals(warenkorb, bestellung.getWarenkorb());
}
@Test
void testWarenkorbLeeren() {
Bestellung bestellung = new Bestellung("Max Mustermann", "Musterstraße 1", warenkorb);
// Sicherstellen, dass der Warenkorb vor dem Leeren nicht leer ist
assertFalse(bestellung.getWarenkorb().getPositionen().isEmpty());
// Methode ausführen
bestellung.warenkorbLeeren();
// Prüfen, ob die Liste der Positionen jetzt leer ist
assertTrue(bestellung.getWarenkorb().getPositionen().isEmpty(),
"Der Warenkorb sollte nach dem Aufruf von warenkorbLeeren() leer sein.");
}
@Test
void testEmptyConstructor() {
Bestellung leer = new Bestellung();
assertNull(leer.getName());
assertNull(leer.getWarenkorb());
assertEquals(0.0, leer.getGesamtpreis());
}
}