diff --git a/OS-Abgabe/src/backend/WarenkorbTest.java b/OS-Abgabe/src/backend/WarenkorbTest.java new file mode 100644 index 0000000..420a303 --- /dev/null +++ b/OS-Abgabe/src/backend/WarenkorbTest.java @@ -0,0 +1,79 @@ +package backend; + +import static org.junit.jupiter.api.Assertions.*; +import java.io.FileNotFoundException; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import java.io.File; +import java.util.ArrayList; +import java.util.Scanner; + +public class WarenkorbTest { + + private ArrayList produkte; + private Warenkorb warenkorb; + + @BeforeEach + void setUp() throws FileNotFoundException { + warenkorb = new Warenkorb(); + produkte = new ArrayList<>(); + + Scanner sc = new Scanner(new File("././resources/produkte.csv")); + sc.nextLine(); + + while (sc.hasNextLine()) { + String line = sc.nextLine(); + String[] parts = line.split(","); + + int id = Integer.parseInt(parts[0]); + String name = parts[1]; + double gewicht = Double.parseDouble(parts[2]); + double preis = Double.parseDouble(parts[3]); + int mwst = Integer.parseInt(parts[4]); + int bestand = Integer.parseInt(parts[5]); + + Produkt p = new Produkt(id, name, preis, gewicht, mwst, bestand); + produkte.add(p); + } + sc.close(); + } + + @Test + void testProduktHinzufuegen() { + warenkorb.produktHinzufügen(produkte.get(0), 2); + assertEquals(1, warenkorb.getPositionen().size()); + assertEquals(2, warenkorb.getPositionen().get(0).getMenge()); + } + + @Test + void testGleicheProduktHinzufuegen() { + Produkt p = produkte.get(0); + warenkorb.produktHinzufügen(p, 1); + warenkorb.produktHinzufügen(p, 2); + assertEquals(3, warenkorb.getPositionen().get(0).getMenge()); + } + + @Test + void testMengeAendern() { + Produkt p = produkte.get(1); + warenkorb.produktHinzufügen(p, 2); + assertTrue(warenkorb.mengeAendern(p, 3)); + assertEquals(3, warenkorb.getPositionen().get(0).getMenge()); + } + + @Test + void testEntfernen() { + Produkt p = produkte.get(2); + warenkorb.produktHinzufügen(p, 1); + warenkorb.mengeAendern(p, 0); + assertEquals(0, warenkorb.getPositionen().size()); + } + + @Test + void testWarenkorbLeer() { + Produkt p = produkte.get(0); + warenkorb.produktHinzufügen(p, 2); + warenkorb.mengeAendern(p, 0); + assertEquals(0, warenkorb.getPositionen().size()); + } +} \ No newline at end of file