+ JUnit Test:
+ leerer Warenkorb + Versand Netto und dessen MwSt + Produkte Netto und deren MwSt + Gesamtpreis + optische Verfeinerungenmain
parent
fb855e3e1b
commit
5f7e3d2dad
|
|
@ -8,4 +8,11 @@
|
||||||
</buildSpec>
|
</buildSpec>
|
||||||
<natures>
|
<natures>
|
||||||
</natures>
|
</natures>
|
||||||
|
<linkedResources>
|
||||||
|
<link>
|
||||||
|
<name>produkte.csv</name>
|
||||||
|
<type>1</type>
|
||||||
|
<locationURI>PARENT-4-PROJECT_LOC/Desktop/produkte.csv</locationURI>
|
||||||
|
</link>
|
||||||
|
</linkedResources>
|
||||||
</projectDescription>
|
</projectDescription>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
package backend;
|
package backend;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class Bestellung {
|
public class Bestellung {
|
||||||
private String name;
|
private String name;
|
||||||
|
|
@ -28,4 +29,10 @@ public class Bestellung {
|
||||||
public double getGesamtpreis() {
|
public double getGesamtpreis() {
|
||||||
return gesamtpreis;
|
return gesamtpreis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void warenkorbLeeren() {
|
||||||
|
for (WarenkorbPosition wp : new ArrayList<>(warenkorb.getPositionen())) {
|
||||||
|
warenkorb.entfernen(wp.getProdukt());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ public class OnlineShop {
|
||||||
public OnlineShop() throws FileNotFoundException {
|
public OnlineShop() throws FileNotFoundException {
|
||||||
lager = new ArrayList<Produkt>();
|
lager = new ArrayList<Produkt>();
|
||||||
|
|
||||||
Scanner sc = new Scanner(new File("././resources/produkte.csv"));
|
Scanner sc = new Scanner(new File("/Users/eronahasani/Desktop/produkte.csv"));
|
||||||
sc.nextLine();
|
sc.nextLine();
|
||||||
|
|
||||||
while(sc.hasNextLine() ) {
|
while(sc.hasNextLine() ) {
|
||||||
|
|
|
||||||
|
|
@ -118,8 +118,8 @@ public class Warenkorb {
|
||||||
|
|
||||||
if (versandBrutto() == 0 || gesamtNetto == 0) return 0;
|
if (versandBrutto() == 0 || gesamtNetto == 0) return 0;
|
||||||
|
|
||||||
double anteil7 = netto7 / gesamtNetto;
|
double anteil7 = netto7 / gesamtNetto;
|
||||||
double anteil19 = netto19 / gesamtNetto;
|
double anteil19 = netto19 / gesamtNetto;
|
||||||
|
|
||||||
double anteilBrutto7 = versandBrutto() * anteil7;
|
double anteilBrutto7 = versandBrutto() * anteil7;
|
||||||
double anteilBrutto19 = versandBrutto() * anteil19;
|
double anteilBrutto19 = versandBrutto() * anteil19;
|
||||||
|
|
@ -149,13 +149,13 @@ public class Warenkorb {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
double anteil7 = netto7 / gesamtNetto;
|
double anteil7 = netto7 / gesamtNetto;
|
||||||
double anteil19 = netto19 / gesamtNetto;
|
double anteil19 = netto19 / gesamtNetto;
|
||||||
|
|
||||||
double anteilBrutto7 = versandBrutto() * anteil7;
|
double anteilBrutto7 = versandBrutto() * anteil7;
|
||||||
double anteilBrutto19 = versandBrutto() * anteil19;
|
double anteilBrutto19 = versandBrutto() * anteil19;
|
||||||
|
|
||||||
double nettoVersand7 = anteilBrutto7 / 1.07;
|
double nettoVersand7 = anteilBrutto7 / 1.07;
|
||||||
double nettoVersand19 = anteilBrutto19 / 1.19;
|
double nettoVersand19 = anteilBrutto19 / 1.19;
|
||||||
|
|
||||||
return (anteilBrutto7
|
return (anteilBrutto7
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ public class WarenkorbTest {
|
||||||
warenkorb = new Warenkorb();
|
warenkorb = new Warenkorb();
|
||||||
produkte = new ArrayList<>();
|
produkte = new ArrayList<>();
|
||||||
|
|
||||||
Scanner sc = new Scanner(new File("././resources/produkte.csv"));
|
Scanner sc = new Scanner(new File("/Users/eronahasani/Desktop/produkte.csv"));
|
||||||
sc.nextLine();
|
sc.nextLine();
|
||||||
|
|
||||||
while (sc.hasNextLine()) {
|
while (sc.hasNextLine()) {
|
||||||
|
|
@ -40,14 +40,18 @@ public class WarenkorbTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testProduktHinzufuegen() {
|
void testProduktHinzufuegen() {
|
||||||
|
|
||||||
warenkorb.produktHinzufügen(produkte.get(0), 2);
|
warenkorb.produktHinzufügen(produkte.get(0), 2);
|
||||||
|
|
||||||
assertEquals(1, warenkorb.getPositionen().size());
|
assertEquals(1, warenkorb.getPositionen().size());
|
||||||
assertEquals(2, warenkorb.getPositionen().get(0).getMenge());
|
assertEquals(2, warenkorb.getPositionen().get(0).getMenge());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testGleicheProduktHinzufuegen() {
|
void testGleicheProduktHinzufuegen() {
|
||||||
|
|
||||||
Produkt p = produkte.get(0);
|
Produkt p = produkte.get(0);
|
||||||
|
|
||||||
warenkorb.produktHinzufügen(p, 1);
|
warenkorb.produktHinzufügen(p, 1);
|
||||||
warenkorb.produktHinzufügen(p, 2);
|
warenkorb.produktHinzufügen(p, 2);
|
||||||
assertEquals(3, warenkorb.getPositionen().get(0).getMenge());
|
assertEquals(3, warenkorb.getPositionen().get(0).getMenge());
|
||||||
|
|
@ -55,25 +59,136 @@ public class WarenkorbTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testMengeAendern() {
|
void testMengeAendern() {
|
||||||
|
|
||||||
Produkt p = produkte.get(1);
|
Produkt p = produkte.get(1);
|
||||||
|
|
||||||
warenkorb.produktHinzufügen(p, 2);
|
warenkorb.produktHinzufügen(p, 2);
|
||||||
|
|
||||||
assertTrue(warenkorb.mengeAendern(p, 3));
|
assertTrue(warenkorb.mengeAendern(p, 3));
|
||||||
assertEquals(3, warenkorb.getPositionen().get(0).getMenge());
|
assertEquals(3, warenkorb.getPositionen().get(0).getMenge());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testEntfernen() {
|
void testEntfernen() {
|
||||||
|
|
||||||
Produkt p = produkte.get(2);
|
Produkt p = produkte.get(2);
|
||||||
|
|
||||||
warenkorb.produktHinzufügen(p, 1);
|
warenkorb.produktHinzufügen(p, 1);
|
||||||
warenkorb.mengeAendern(p, 0);
|
warenkorb.mengeAendern(p, 0);
|
||||||
|
|
||||||
assertEquals(0, warenkorb.getPositionen().size());
|
assertEquals(0, warenkorb.getPositionen().size());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testWarenkorbLeer() {
|
void testWarenkorbLeer() {
|
||||||
|
|
||||||
Produkt p = produkte.get(0);
|
Produkt p = produkte.get(0);
|
||||||
|
|
||||||
warenkorb.produktHinzufügen(p, 2);
|
warenkorb.produktHinzufügen(p, 2);
|
||||||
warenkorb.mengeAendern(p, 0);
|
warenkorb.mengeAendern(p, 0);
|
||||||
|
|
||||||
assertEquals(0, warenkorb.getPositionen().size());
|
assertEquals(0, warenkorb.getPositionen().size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testProdukteNetto() {
|
||||||
|
|
||||||
|
Produkt p = produkte.get(0);
|
||||||
|
|
||||||
|
warenkorb.produktHinzufügen(p, 1);
|
||||||
|
|
||||||
|
double netto = p.getPreis();
|
||||||
|
assertEquals(netto, warenkorb.produkteNetto(), 0.01);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testProdukteMwst() {
|
||||||
|
|
||||||
|
Produkt p = produkte.get(0);
|
||||||
|
|
||||||
|
warenkorb.produktHinzufügen(p, 1);
|
||||||
|
|
||||||
|
double mwst = p.getPreis() * p.getMwst() / 100.0;
|
||||||
|
assertEquals(mwst, warenkorb.produkteMwst(), 0.01);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testProdukteMwst19und7() {
|
||||||
|
|
||||||
|
Produkt p1 = produkte.get(0);
|
||||||
|
Produkt p2 = produkte.get(1);
|
||||||
|
|
||||||
|
warenkorb.produktHinzufügen(p1, 2);
|
||||||
|
warenkorb.produktHinzufügen(p2, 3);
|
||||||
|
|
||||||
|
double mwstP1 = 2 * p1.getPreis() * p1.getMwst() / 100.0;
|
||||||
|
double mwstP2 = 3 * p2.getPreis() * p2.getMwst() / 100.0;
|
||||||
|
double erwartet = mwstP1 + mwstP2;
|
||||||
|
|
||||||
|
assertEquals(erwartet, warenkorb.produkteMwst(), 0.01);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testVersandNetto() {
|
||||||
|
|
||||||
|
warenkorb.produktHinzufügen(produkte.get(0), 5);
|
||||||
|
warenkorb.produktHinzufügen(produkte.get(1), 2);
|
||||||
|
|
||||||
|
double gesamtNetto = warenkorb.produkteNetto();
|
||||||
|
double anteil7 = 2 * produkte.get(1).getPreis() / gesamtNetto;
|
||||||
|
double anteil19 = 5 * produkte.get(0).getPreis() / gesamtNetto;
|
||||||
|
double versandBrutto = warenkorb.versandBrutto();
|
||||||
|
|
||||||
|
double anteilBrutto7 = versandBrutto * anteil7;
|
||||||
|
double anteilBrutto19 = versandBrutto * anteil19;
|
||||||
|
|
||||||
|
double erwartet = (anteilBrutto7 / 1.07)
|
||||||
|
+ (anteilBrutto19 / 1.19);
|
||||||
|
|
||||||
|
assertEquals(erwartet, warenkorb.versandNetto(), 0.01);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testVersandMwst() {
|
||||||
|
|
||||||
|
warenkorb.produktHinzufügen(produkte.get(0), 5);
|
||||||
|
warenkorb.produktHinzufügen(produkte.get(1), 2);
|
||||||
|
|
||||||
|
double gesamtNetto = warenkorb.produkteNetto();
|
||||||
|
double anteil7 = 2 * produkte.get(1).getPreis() / gesamtNetto;
|
||||||
|
double anteil19 = 5 * produkte.get(0).getPreis() / gesamtNetto;
|
||||||
|
double versandBrutto = warenkorb.versandBrutto();
|
||||||
|
|
||||||
|
double anteilBrutto7 = versandBrutto * anteil7;
|
||||||
|
double anteilBrutto19 = versandBrutto * anteil19;
|
||||||
|
double nettoVersand7 = anteilBrutto7 / 1.07;
|
||||||
|
double nettoVersand19 = anteilBrutto19 / 1.19;
|
||||||
|
|
||||||
|
double erwartet = (anteilBrutto7
|
||||||
|
- nettoVersand7)
|
||||||
|
+ (anteilBrutto19
|
||||||
|
- nettoVersand19);
|
||||||
|
|
||||||
|
assertEquals(erwartet, warenkorb.versandMwst(), 0.01);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGesamtpreis() {
|
||||||
|
|
||||||
|
warenkorb.produktHinzufügen(produkte.get(1), 2);
|
||||||
|
|
||||||
|
double erwartet = warenkorb.produkteNetto()
|
||||||
|
+ warenkorb.produkteMwst()
|
||||||
|
+ warenkorb.versandNetto()
|
||||||
|
+ warenkorb.versandMwst();
|
||||||
|
|
||||||
|
assertEquals(erwartet, warenkorb.gesamtpreis());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -188,7 +188,7 @@ public class shopTUI {
|
||||||
} else if (eingabe.equals("bestellen")) {
|
} else if (eingabe.equals("bestellen")) {
|
||||||
bestellen();
|
bestellen();
|
||||||
} else {
|
} else {
|
||||||
System.out.println("\n\n Ungültige Eingabe (˃̣̣̥ᯅ˂̣̣̥) Versuchen Sie es bitte erneut: \n\n");
|
System.out.println("\n\nUngültige Eingabe (˃̣̣̥ᯅ˂̣̣̥) Versuchen Sie es bitte erneut: \n\n");
|
||||||
warenkorb();
|
warenkorb();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -219,7 +219,7 @@ public class shopTUI {
|
||||||
}
|
}
|
||||||
System.out.printf("\nGesamtpreis: \n%.2f€\n", bestellung.getGesamtpreis());
|
System.out.printf("\nGesamtpreis: \n%.2f€\n", bestellung.getGesamtpreis());
|
||||||
System.out.println("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
|
System.out.println("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
|
||||||
warenkorb = new Warenkorb();
|
bestellung.warenkorbLeeren();
|
||||||
System.out.println("\n\nIhr Warenkorb wurde geleert! ◝(˶˃ᵕ˂˶)◜");
|
System.out.println("\n\nIhr Warenkorb wurde geleert! ◝(˶˃ᵕ˂˶)◜");
|
||||||
System.out.println("Ab zum Hauptmenü... ٩(^ᗜ^ )و \n\n\n");
|
System.out.println("Ab zum Hauptmenü... ٩(^ᗜ^ )و \n\n\n");
|
||||||
hauptmenü();
|
hauptmenü();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue