add tests and final finish

main
Lukas Klipfel 2025-12-15 11:44:07 +01:00
parent e821efa86e
commit 7a4a3274ea
7 changed files with 197 additions and 16 deletions

View File

@ -28,14 +28,6 @@ public class OnlineShop {
public void AddProdukt(Produkt neu){
this.lager.add(neu);
};
public void UpdateExistingProdukt(Produkt alt, Produkt neu){
for(int i = 0; i < this.lager.size(); i++) {
if(alt.equals(this.lager.get(i))) {
this.lager.set(i, neu);
break;
}
}
};
public ArrayList<String[]> ShowProdukte(){
ArrayList<String[]> ret = new ArrayList<String[]>();
for(int i = 0; i < this.lager.size(); i++) {

View File

@ -2,13 +2,45 @@ package backend;
import static org.junit.jupiter.api.Assertions.*;
import java.util.ArrayList;
import org.junit.jupiter.api.Test;
class OnlineShopTest {
@Test
void test() {
fail("Not yet implemented");
void testAddProdukteVonDatei() {
OnlineShop o1 = new OnlineShop();
ArrayList<String> file = new ArrayList<String>();
file.add("rdm");
file.add("1,Riesling 0.7 l,1.2,4.2,19,87");
o1.AddProdukteVonDatei(file);
Produkt p1 = new Produkt(1,"Riesling 0.7 l",1200,420,19,87);
Produkt p2 = o1.FindeProduktVonId(1);
assertEquals(p1.id,p2.id);
assertEquals(p1.name,p2.name);
assertEquals(p1.transportGewicht,p2.transportGewicht);
assertEquals(p1.netto,p2.netto);
assertEquals(p1.mwStSatz,p2.mwStSatz);
assertEquals(p1.lagerbestand,p2.lagerbestand);
}
@Test
void testAddProdukt(){
OnlineShop o1 = new OnlineShop();
Produkt p1 = new Produkt(1,"Riesling 0.7 l",1200,420,19,87);
o1.AddProdukt(p1);
assertTrue(o1.lager.get(0).equals(p1));
};
@Test
void testShowProdukte(){
OnlineShop o1 = new OnlineShop();
Produkt p1 = new Produkt(1,"Riesling 0.7 l",1200,420,19,87);
o1.AddProdukt(p1);
ArrayList<String[]> check = new ArrayList<String[]>();
check.add(new String[]{"1", "Riesling 0.7 l", "1200", "420", "19", "87"});
assertArrayEquals(o1.ShowProdukte().get(0), check.get(0));
};
}

View File

@ -7,8 +7,33 @@ import org.junit.jupiter.api.Test;
class ProduktTest {
@Test
void test() {
fail("Not yet implemented");
void testConstructor() {
Produkt p1 = new Produkt(1, "name", 100, 100, 10, 20);
Produkt p2 = new Produkt(1, "name", 100, 100, 10, 20);
assertEquals(p1.id,p2.id);
assertEquals(p1.name,p2.name);
assertEquals(p1.transportGewicht,p2.transportGewicht);
assertEquals(p1.netto,p2.netto);
assertEquals(p1.mwStSatz,p2.mwStSatz);
assertEquals(p1.lagerbestand,p2.lagerbestand);
}
@Test
void testUpdate() {
Produkt p1 = new Produkt(1, "name", 100, 100, 10, 20);
Produkt p2 = new Produkt(1, "test", 100, 100, 10, 20);
assertFalse(p1.name == p2.name);
p2.UpdateProdukt(p1);
assertEquals(p1.id,p2.id);
assertEquals(p1.name,p2.name);
assertEquals(p1.transportGewicht,p2.transportGewicht);
assertEquals(p1.netto,p2.netto);
assertEquals(p1.mwStSatz,p2.mwStSatz);
assertEquals(p1.lagerbestand,p2.lagerbestand);
}
}

View File

@ -51,6 +51,8 @@ public class Warenkorb {
ret = 495;
if(gewicht <= 100)
ret = 395;
if(gewicht == 0)
ret = 0;
return ret;
};
public int NettoGesamtPreis(){

View File

@ -7,8 +7,130 @@ import org.junit.jupiter.api.Test;
class WarenkorbTest {
@Test
void test() {
fail("Not yet implemented");
void testConstructor() {
Warenkorb p1 = new Warenkorb();
Warenkorb p2 = new Warenkorb(new Kunde("Lukas", "Klipfel"));
assertFalse(p1.kunde.name == p2.kunde.name || p1.kunde.Adresse == p2.kunde.Adresse);
p1.UpdateKunde(new Kunde("Lukas", "Klipfel"));
assertTrue(p1.kunde.name == p2.kunde.name && p1.kunde.Adresse == p2.kunde.Adresse);
}
@Test
void testAddProdukt(){
Produkt p1 = new Produkt(1,"Riesling 0.7 l",1200,420,19,87);
Warenkorb w1 = new Warenkorb();
assertFalse(w1.inhalt.contains(p1));
w1.AddProdukt(p1, 2);
assertTrue(w1.inhalt.contains(p1));
};
@Test
void testDelProdukt(){
Produkt p1 = new Produkt(1,"Riesling 0.7 l",1200,420,19,87);
Warenkorb w1 = new Warenkorb();
assertFalse(w1.inhalt.contains(p1));
w1.AddProdukt(p1, 2);
assertTrue(w1.inhalt.contains(p1));
w1.DelProdukt(p1);
assertFalse(w1.inhalt.contains(p1));
};
@Test
void testChangeProdukt(){
Produkt p1 = new Produkt(1,"Riesling 0.7 l",1200,420,19,87);
Warenkorb w1 = new Warenkorb();
w1.AddProdukt(p1, 2);
assertFalse(w1.anzahl.get(0)==50);
w1.ChangeProdukt(p1, 50);
assertTrue(w1.anzahl.get(0)==50);
};
@Test
void testUpdateKunde(){
Warenkorb p1 = new Warenkorb();
p1.UpdateKunde(new Kunde("Lukas", "Klipfel"));
assertTrue(p1.kunde.name == "Lukas" && p1.kunde.Adresse == "Klipfel");
};
@Test
void testCheckCount() {
Produkt p1 = new Produkt(1,"Riesling 0.7 l",1200,420,19,87);
Warenkorb w1 = new Warenkorb();
w1.AddProdukt(p1, 2);
assertTrue(w1.inhalt.contains(p1));
w1.ChangeProdukt(p1, 0);
assertFalse(w1.inhalt.contains(p1));
}
@Test
void testGewicht() {
Produkt p1 = new Produkt(1,"Riesling 0.7 l",1200,420,19,87);
Warenkorb w1 = new Warenkorb();
assertTrue(w1.Gewicht()==0);
w1.AddProdukt(p1, 2);
assertTrue(w1.Gewicht()==2400);
}
@Test
void testIsProduktInWarenkorb() {
Produkt p1 = new Produkt(1,"Riesling 0.7 l",1200,420,19,87);
Warenkorb w1 = new Warenkorb();
assertFalse(w1.IsProduktInWarenkorb(p1));
w1.AddProdukt(p1, 2);
assertTrue(w1.IsProduktInWarenkorb(p1));
}
@Test
void testGetProduktAnzahl() {
Produkt p1 = new Produkt(1,"Riesling 0.7 l",1200,420,19,87);
Warenkorb w1 = new Warenkorb();
w1.AddProdukt(p1, 2);
assertTrue(w1.GetProduktAnzahl(p1)==2);
w1.ChangeProdukt(p1, 50);
assertTrue(w1.GetProduktAnzahl(p1)==50);
}
@Test
void testNettoPreis(){
Produkt p1 = new Produkt(1,"Riesling 0.7 l",1200,420,19,87);
Warenkorb w1 = new Warenkorb();
assertTrue(w1.NettoPreis()==0);
w1.AddProdukt(p1, 2);
assertTrue(w1.NettoPreis()==840);
};
@Test
void testBruttoPreis(){
Produkt p1 = new Produkt(1,"Riesling 0.7 l",1200,420,19,87);
Warenkorb w1 = new Warenkorb();
assertTrue(w1.BruttoPreis()==0);
w1.AddProdukt(p1, 2);
assertTrue(w1.BruttoPreis()==1000);
};
@Test
void testNettoVersandkosten(){
Produkt p1 = new Produkt(1,"Riesling 0.7 l",10,420,10,87);
Warenkorb w1 = new Warenkorb();
assertTrue(w1.NettoVersandkosten()==0);
w1.AddProdukt(p1, 1);
assertTrue(w1.NettoVersandkosten()==359);
};
@Test
void testBruttoVersandkosten(){
Produkt p1 = new Produkt(1,"Riesling 0.7 l",10,420,19,1000);
Warenkorb w1 = new Warenkorb();
assertTrue(w1.BruttoVersandkosten()==0);
w1.AddProdukt(p1, 2);
assertTrue(w1.BruttoVersandkosten()==395);
w1.ChangeProdukt(p1, 11);
assertTrue(w1.BruttoVersandkosten()==495);
w1.ChangeProdukt(p1, 110);
assertTrue(w1.BruttoVersandkosten()==595);
w1.ChangeProdukt(p1, 501);
assertTrue(w1.BruttoVersandkosten()==1995);
};
}

View File

@ -153,8 +153,12 @@ public class ShopTUI {
shop.UpdateKundeInWarenkorb(name, addr);
};
private static void Bestellen() {
System.out.println("Deine Bestellung mit folgendem Inhalt wurde aufgegeben:");
ShowWarenkorb();
shop.AddBestellung();
System.out.println("");
System.out.println("");
System.out.println("Sie können eine weitere Bestellung aufgeben.");
};
private static void ShowBestellungen(){ };

View File

@ -26,3 +26,7 @@ Time Chart:
0:45 finish class OnlineShop
2:10 finish class ShopTUI
1:50 add tests and final finish
8h to complete the Exercise.