diff --git a/domain-model.md b/domain-model.md new file mode 100644 index 00000000..bc5cfc64 --- /dev/null +++ b/domain-model.md @@ -0,0 +1,14 @@ + + +| Classes | Methods | Variables | Scenario | Output | User stories | +|---------|-----------------------------|--------------------------|--------------------------------|---------------------------------|--------------| +| Basket | | int basketSize | | | | +| | | ArrayList basket | | | | +| | | | | | | +| | addBagel(String bagel) | | Basket is full | return true | 1 3 | +| | | | Basket is not full | return false | | +| | removeBagel(String bagel) | | Item exists in basket | Bagel removed from basket list | 2 5 | +| | | | Item doesn't exists in basket | print no bagel in basket | | +| | changeCapacity(Int newSize) | | newSize is valid(not negative) | change basketSize variable | 4 | +| | | | newSize invalid(negative num) | print invalid size | | +| | getBasketSize() | | Reads current basketSize | returns integer of maximum size | | diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index df7a20aa..b478b778 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -1,5 +1,46 @@ package com.booleanuk.core; +import java.util.ArrayList; + public class Basket { + int basketSize; + ArrayList basket; + + public Basket(){ + this.basketSize = 10; + this.basket = new ArrayList<>(); + } + + public Boolean addBagel(String bagel){ + if (basket.size()>= getBasketSize()){ + System.out.println("BASKET FULL, CANNOT ADD"); + return false; + }else{ + basket.add(bagel); + return true; + } + } + + public boolean removeBagel(String bagel){ + if (!basket.contains(bagel)){ + System.out.println(bagel + " does not exist in the basket"); + return false; + }else{ + return true; + } + } + + public void changeCapacity(int newSize){ + if(newSize >= 0){ //if valid number + this.basketSize = newSize; + }else{ + System.out.println("Invalid basketsize"); + } + } + + + public int getBasketSize(){ + return this.basketSize; + } } diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index e35771b3..00cd403a 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -3,6 +3,30 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import java.util.ArrayList; + class BasketTest { + @Test + public void addBagelTest(){ + Basket basket = new Basket(); + Assertions.assertTrue(basket.addBagel("Gluten Bagel")); + Assertions.assertTrue(basket.addBagel("Bagel")); + Assertions.assertTrue(basket.addBagel("non Bagel")); + } + + @Test + public void removeBagelTest(){ + Basket basket = new Basket(); + basket.addBagel("Gluten Bagel"); + Assertions.assertTrue(basket.removeBagel("Gluten Bagel")); + } + + @Test + public void changeCapacity(){ + Basket basket = new Basket(); + basket.changeCapacity(50); + Assertions.assertEquals(50, basket.getBasketSize()); + } + }