diff --git a/domain.md b/domain.md new file mode 100644 index 00000000..976892ed --- /dev/null +++ b/domain.md @@ -0,0 +1,11 @@ +| `Classes` | `Member` | `Methods` | `Scenario` | `Outcome` | +|-----------|-----------------------------------|---------------------------------|--------------------------|-------------------------------------------------| +| `Basket` | `Hashmap bagels` | `add(String bagel, int num)` | Bagel-key already exists | Return true, Bagel number is incremented by num | +| | `int capacity` | | Bagel-key does not exist | Return true, Bagel key is created with value | +| | | | Basket is full | Return false +| | | `remove(String bagel, int num)` | Bagel-key exists | Return true, Bagel value is decremented by num | +| | | | Bagel-key does not exist | Return false | +| | | `checkCapacity()` | Basket is full | Return false | +| | | | Basket is not full | Return true | +| | | `incCapacity(int num)` | Capacity value exists | Capacity increases by num | + diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index df7a20aa..f3414853 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -1,5 +1,66 @@ package com.booleanuk.core; +import java.util.HashMap; public class Basket { + HashMap bagels = new HashMap(); + int capacity; + public Basket(int num){ + capacity=num; + } + + public boolean add(String bagel, int num){ + if (!(bagels.containsKey(bagel) & checkCapacity())){ + bagels.put(bagel, 0); + } + + for (int i=0; i=capacity){ + return false; + } + } + return true; + + } + + public boolean incCapacity(int num){ + capacity+=num; + return true; + } } diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index e35771b3..7dfecce8 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -4,5 +4,79 @@ import org.junit.jupiter.api.Test; class BasketTest { + public BasketTest(){ + + } + + @Test + public void testAddExists(){ + Basket basket= new Basket(10); + Assertions.assertTrue(basket.add("Nice bagel", 5)); + } + + @Test + public void testRemoveExists(){ + Basket basket= new Basket(10); + Assertions.assertFalse(basket.remove("Nice bagel", 5)); + } + + + @Test + public void testCapacityExists(){ + Basket basket= new Basket(10); + Assertions.assertTrue(basket.checkCapacity()); + } + + + @Test + public void testIncCapacityExists(){ + Basket basket= new Basket(10); + Assertions.assertTrue(basket.incCapacity(10)); + } + + // testing User story 1 + @Test + public void testAdd(){ + Basket basket= new Basket(10); + Assertions.assertTrue(basket.add("Nice bagel", 5)); + Assertions.assertTrue(basket.add("Nice bagel", 5)); + } + + // testing User story 2 & 5 + @Test + public void testRemove(){ + Basket basket= new Basket(10); + basket.add("Nice bagel", 5); + Assertions.assertTrue(basket.remove("Nice bagel", 1)); + Assertions.assertFalse(basket.remove("Fine bagel", 1)); + } + + // testing User story 3 + @Test + public void testAddingtoFull(){ + Basket basket= new Basket(10); + basket.add("Nice bagel", 9); + Assertions.assertFalse(basket.add("Nice bagel", 2)); + } + + // testing User story 3 + @Test + public void testCheckCapacity(){ + Basket basket= new Basket(10); + basket.add("Nice bagel", 5); + basket.add("Nice bagel", 5); + Assertions.assertFalse(basket.checkCapacity()); + } + + // testing User story 4 + @Test + public void testIncCapacity(){ + Basket basket= new Basket(10); + Assertions.assertTrue(basket.incCapacity(5)); + } + + + + }