diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java new file mode 100644 index 0000000..674f4f4 --- /dev/null +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -0,0 +1,24 @@ +package com.booleanuk.core; +import java.util.HashMap; +import java.util.Map; + +public class Basket { + public HashMap basketList; + public int totalCost; + + public Basket() { + this.basketList = new HashMap<>(); + this.totalCost = 0; + } + + public void addProduct(String product, int price) { + basketList.put(product, price); + } + + public int calculateTotalCostInBasket() { + for (Map.Entry entry : this.basketList.entrySet()) { + this.totalCost += entry.getValue(); + } + return this.totalCost; + } +} diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java new file mode 100644 index 0000000..9fccec0 --- /dev/null +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -0,0 +1,27 @@ +package com.booleanuk.core; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class BasketTest { + + @Test + public void testThatAddProductAdsProductToBasketList() { + Basket basket = new Basket(); + + int beforeAddedItem = basket.basketList.size(); + basket.addProduct("Product 1", 10); + int afterAddedItem = basket.basketList.size(); + + Assertions.assertTrue(beforeAddedItem < afterAddedItem); + } + + @Test + public void testCalculatingTotalCostInBasket() { + Basket basket = new Basket(); + basket.addProduct("Product 1", 10); + + int totalCost = basket.calculateTotalCostInBasket(); + Assertions.assertEquals(10, totalCost); + } +}