diff --git a/domain-model.md b/domain-model.md new file mode 100644 index 00000000..fa837869 --- /dev/null +++ b/domain-model.md @@ -0,0 +1,16 @@ + + +| Classes | Method | Member Variables | Scenario | Output | +|----------|------------------------------------------------|-----------------------|---------------------------------------------------------------------------------------------------|------------| +| `Basket` | `addBagel(String bagelType)` | `List bagels` | If bagels.length; < basketLimit, add the bagel to the list. | true | +| | | `int basketLimit` | Else: let user know it is full. | false | +| | | | | | +| | `removeBagel(String bagelType)` | `int managerKey` | If bagelType in bagels, remove it from the basket and notify user with true. | true | +| | | | Else: no bagelType found in bagel, notify user with false. | false | +| | | | | | +| | `changeBasketCapacity(int newBasketCapacity)` | | If user is manager, replace the basketLimit with newBasketCapacity. Success of change equals true | true/false | + + + + + diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index df7a20aa..394885d4 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -1,5 +1,45 @@ package com.booleanuk.core; +import java.util.ArrayList; + public class Basket { + private ArrayList bagels; + private int basketLimit = 4; + private int managerKey = 9999; + + public Basket() { + this.bagels = new ArrayList<>(); + + } + + public boolean addBagel(String bagelType) { + if (bagels.size() < basketLimit) { + bagels.add(bagelType); + + return true; + } + + + return false; + } + + public boolean removeBagel(String bagelType) { + if (bagels.contains(bagelType)){ + bagels.remove(bagelType); + + return true; + } + return false; + } + + + public boolean changeBasketCapacity(int newBasketCapacity){ + if(managerKey == 9999){ + basketLimit = newBasketCapacity; + + return true; + } + return false; + } } diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index e35771b3..abac6a25 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -5,4 +5,42 @@ class BasketTest { + @Test + public void testAddBagel() { + Basket basket = new Basket(); + String bagelType = "Original"; + + Assertions.assertTrue(basket.addBagel(bagelType)); + + } + + @Test + public void testRemoveBagel() { + Basket basket = new Basket(); + basket.addBagel("Special"); + + String bagelType = "Special"; + + Assertions.assertTrue(basket.removeBagel(bagelType)); + + } + + @Test + public void testChangeBasketCapacity() { + Basket basket = new Basket(); + + basket.addBagel("Onion"); + basket.addBagel("Cheese"); + basket.addBagel("Lettuce"); + + basket.addBagel("Salt"); + + Assertions.assertFalse(basket.addBagel("Meat")); + + basket.changeBasketCapacity(10); + + Assertions.assertTrue(basket.addBagel("Plain")); + + } + }