From c4335b5792c7f04ea50a6c2b83f85a20d3eb38b6 Mon Sep 17 00:00:00 2001 From: CPlaiz Date: Sat, 13 Dec 2025 18:10:48 +0100 Subject: [PATCH] Add ShoppingCart test --- src/test/java/ShoppingCartTest.java | 72 +++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/test/java/ShoppingCartTest.java diff --git a/src/test/java/ShoppingCartTest.java b/src/test/java/ShoppingCartTest.java new file mode 100644 index 0000000..48417f9 --- /dev/null +++ b/src/test/java/ShoppingCartTest.java @@ -0,0 +1,72 @@ +import org.example.Constants; +import org.example.Product; +import org.example.ShoppingCart; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class ShoppingCartTest { + + private ShoppingCart cart; + private Product product1; + private Product product2; + + @BeforeEach + void setUp() { + cart = new ShoppingCart(); + product1 = new Product(1, "Produkt 1", 0.5f, 50f, Constants.lowVat); + product2 = new Product(2, "Produkt 2", 1.0f, 500f, Constants.highVat); + } + + @Test + void addProduct() { + cart.addProduct(product1); + cart.addProduct(product1); + + assertEquals(2, cart.getProductQuantity(product1)); + } + + @Test + void removeProduct() { + cart.addProduct(product1); + cart.addProduct(product1); + + cart.removeProduct(product1); + + assertEquals(1, cart.getProductQuantity(product1)); + } + + @Test + void removeProductZero() { + cart.removeProduct(product1); + + assertEquals(0, cart.getProductQuantity(product1)); + } + + @Test + void setProductQuantityTo() { + cart.setProductQuantity(product1, 5); + + assertEquals(5, cart.getProductQuantity(product1)); + } + + @Test + void setProductQuantityToZeroToRemove() { + cart.setProductQuantity(product1, 3); + cart.setProductQuantity(product1, 0); + + assertEquals(0, cart.getProductQuantity(product1)); + } + + @Test + void clearProducts() { + cart.addProduct(product1); + cart.addProduct(product2); + + cart.clearProducts(); + + assertEquals(0, cart.getProductQuantity(product1)); + assertEquals(0, cart.getProductQuantity(product2)); + } +}