From 3dfb7cb354dc063000136637bd02b181adeac570 Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 14:18:36 +0200 Subject: [PATCH 01/15] initial domain-model commit --- domain-model.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 domain-model.md diff --git a/domain-model.md b/domain-model.md new file mode 100644 index 00000000..fe21d846 --- /dev/null +++ b/domain-model.md @@ -0,0 +1,13 @@ + + +| Classes | Method | Member Variables | Scenario | Output | +|----------|-------------------------------------------------------------------|-----------------------|--------------------------------------------------------------------------------------------|------------------------------------------| +| `Basket` | `addBagel(String bagelType)` | `List bagels` | If bagels.lenght; < basketLimit, add the bagel to the list. Else: return "basket is full". | "successfully added" / "Basket is full"; | +| | | `int basketLimit` | | | +| | `removeBagel(String bagelType)` | | If bagelType in bagels, remove it from the basket and return true. Else false. | true/false; | +| | `changeBasketCapacity(int newBasketCapacity, int basketCapacity)` | `int numberOfBaskets` | Replace the new with the old basket capacity. | Changed: int basketCapacity. | + + + + + From 1e43b5084b315dc17e5b2db00ab3ee0428d43d31 Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 14:26:00 +0200 Subject: [PATCH 02/15] domain-model commit --- domain-model.md | 15 +++++++++------ src/main/java/com/booleanuk/core/Basket.java | 1 + 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/domain-model.md b/domain-model.md index fe21d846..4f5efb73 100644 --- a/domain-model.md +++ b/domain-model.md @@ -1,11 +1,14 @@ -| Classes | Method | Member Variables | Scenario | Output | -|----------|-------------------------------------------------------------------|-----------------------|--------------------------------------------------------------------------------------------|------------------------------------------| -| `Basket` | `addBagel(String bagelType)` | `List bagels` | If bagels.lenght; < basketLimit, add the bagel to the list. Else: return "basket is full". | "successfully added" / "Basket is full"; | -| | | `int basketLimit` | | | -| | `removeBagel(String bagelType)` | | If bagelType in bagels, remove it from the basket and return true. Else false. | true/false; | -| | `changeBasketCapacity(int newBasketCapacity, int basketCapacity)` | `int numberOfBaskets` | Replace the new with the old basket capacity. | Changed: int basketCapacity. | +| Classes | Method | Member Variables | Scenario | Output | +|----------|-------------------------------------------------------------------|-----------------------|--------------------------------------------------------------------------------------------|--------------------------------| +| `Basket` | `addBagel(String bagelType)` | `List bagels` | If bagels.length; < basketLimit, add the bagel to the list. Else: return "basket is full". | "successfully added" / | +| | | `int basketLimit` | Else: let user know it is full. | "Basket is full"; | +| | | | | | +| | `removeBagel(String bagelType)` | | If bagelType in bagels, remove it from the basket and notify user. | "bagelType removed" | +| | | | Else: no bagelType found in bagel, notify user. | "bagelType not in your basket" | +| | | | | | +| | `changeBasketCapacity(int newBasketCapacity, int basketCapacity)` | `int numberOfBaskets` | Replace the new with the old basket capacity. | Changed: int basketCapacity. | diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index df7a20aa..dc145c1f 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -1,5 +1,6 @@ package com.booleanuk.core; public class Basket { + } From bd6660966b1fb61e25fc16842a2255c4ad1794a5 Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 14:43:57 +0200 Subject: [PATCH 03/15] retype domain-model commit --- domain-model.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/domain-model.md b/domain-model.md index 4f5efb73..4a0c0d57 100644 --- a/domain-model.md +++ b/domain-model.md @@ -1,14 +1,14 @@ -| Classes | Method | Member Variables | Scenario | Output | -|----------|-------------------------------------------------------------------|-----------------------|--------------------------------------------------------------------------------------------|--------------------------------| -| `Basket` | `addBagel(String bagelType)` | `List bagels` | If bagels.length; < basketLimit, add the bagel to the list. Else: return "basket is full". | "successfully added" / | -| | | `int basketLimit` | Else: let user know it is full. | "Basket is full"; | -| | | | | | -| | `removeBagel(String bagelType)` | | If bagelType in bagels, remove it from the basket and notify user. | "bagelType removed" | -| | | | Else: no bagelType found in bagel, notify user. | "bagelType not in your basket" | -| | | | | | -| | `changeBasketCapacity(int newBasketCapacity, int basketCapacity)` | `int numberOfBaskets` | Replace the new with the old basket capacity. | Changed: int basketCapacity. | +| 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)` | | 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, int basketCapacity)` | `int numberOfBaskets` | Replace the new with the old basket capacity. success equals true | true/false | From 5121fff4d81aa668a342f304583d5d5380d8fdf7 Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 14:58:45 +0200 Subject: [PATCH 04/15] added redtest for adding bageltype --- src/test/java/com/booleanuk/core/BasketTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index e35771b3..e26441fa 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -5,4 +5,20 @@ class BasketTest { + @Test + public void testAddBagelType() { + Basket basket = new Basket(); + + String bagelType = "Original"; + + Assertions.assertFalse(basket.addBagel(bagelType)); + } + + + + + + + + } From 2ed8e14952e22c2dd1607d609cad87eeeb950c5c Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 15:13:34 +0200 Subject: [PATCH 05/15] added redtest for removing bagel --- .../java/com/booleanuk/core/BasketTest.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index e26441fa..b5a5f30a 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -8,10 +8,26 @@ class BasketTest { @Test public void testAddBagelType() { Basket basket = new Basket(); - String bagelType = "Original"; + String bagelType2 = "Oal"; + String bagel3 = "hha"; + + Assertions.assertTrue(basket.addBagel(bagelType)); + + } + + @Test + public void testRemoveBagel() { + Basket basket = new Basket(); + basket.addBagel("Special"); + + String bagelType = "Special"; + + Assertions.assertFalse(basket.removeBagel(bagelType)); + + + - Assertions.assertFalse(basket.addBagel(bagelType)); } From d9ed0dc38f67ded7e38278dc9923229adcb58c9d Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 15:18:01 +0200 Subject: [PATCH 06/15] passing green tests for add bagel and remove bagel --- src/main/java/com/booleanuk/core/Basket.java | 33 +++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index dc145c1f..5b332a05 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -1,6 +1,37 @@ package com.booleanuk.core; +import java.util.ArrayList; + public class Basket { - + + private ArrayList bagels; + private int basketLimit = 2; + private int numberOfBaskets = 10; + + 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; + } + + } From 75aa813b193fca142681f5526dd07fc8735d5bb7 Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 15:38:18 +0200 Subject: [PATCH 07/15] red test of testChangeBasketCapacity(), should fail due to the basket being full. --- .../java/com/booleanuk/core/BasketTest.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index b5a5f30a..b27ab0e4 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -9,8 +9,6 @@ class BasketTest { public void testAddBagelType() { Basket basket = new Basket(); String bagelType = "Original"; - String bagelType2 = "Oal"; - String bagel3 = "hha"; Assertions.assertTrue(basket.addBagel(bagelType)); @@ -23,18 +21,25 @@ public void testRemoveBagel() { String bagelType = "Special"; - Assertions.assertFalse(basket.removeBagel(bagelType)); - - - + Assertions.assertTrue(basket.removeBagel(bagelType)); } + @Test + public void testChangeBasketCapacity() { + Basket basket = new Basket(); + basket.addBagel("Onion"); + basket.addBagel("Cheese"); + basket.addBagel("Lettuce"); + Assertions.assertTrue(basket.addBagel("Meat")); + basket.changeBasketCapacity(10); - + Assertions.assertTrue(basket.addBagel("Plain")); + + } } From e36243d9af8cac03b74406c1a4e4c252052fa10b Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 15:42:52 +0200 Subject: [PATCH 08/15] Removed: BasketCapacity due to misunderstanding, instead only using basketLimit --- domain-model.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/domain-model.md b/domain-model.md index 4a0c0d57..94107bc7 100644 --- a/domain-model.md +++ b/domain-model.md @@ -1,14 +1,14 @@ -| 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)` | | 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, int basketCapacity)` | `int numberOfBaskets` | Replace the new with the old basket capacity. success equals true | true/false | +| 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)` | | 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)` | `int numberOfBaskets` | Replace the basketLimit with newBasketCapacity. Success equals true | true/false | From b5f6071c48930aa24839ac986100d7cd9b8b504c Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 16:00:00 +0200 Subject: [PATCH 09/15] added int member and int manager for authentication. --- domain-model.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/domain-model.md b/domain-model.md index 94107bc7..c82cc32f 100644 --- a/domain-model.md +++ b/domain-model.md @@ -1,13 +1,13 @@ -| Classes | Method | Member Variables | Scenario | Output | -|----------|------------------------------------------------|-----------------------|------------------------------------------------------------------------------|------------| +| 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)` | | 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 | -| | | | | | +| | | `int basketLimit` | Else: let user know it is full. | false | +| | | `int member` | | | +| | `removeBagel(String bagelType)` | `int manager` | 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)` | `int numberOfBaskets` | Replace the basketLimit with newBasketCapacity. Success equals true | true/false | From 26b228f6092b56f5c7ecc6fecbd2a194d42fb4c3 Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 16:09:24 +0200 Subject: [PATCH 10/15] fixed typo in addBagel test --- src/test/java/com/booleanuk/core/BasketTest.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index b27ab0e4..af21d43c 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -6,7 +6,7 @@ class BasketTest { @Test - public void testAddBagelType() { + public void testAddBagel() { Basket basket = new Basket(); String bagelType = "Original"; @@ -33,13 +33,12 @@ public void testChangeBasketCapacity() { basket.addBagel("Cheese"); basket.addBagel("Lettuce"); - Assertions.assertTrue(basket.addBagel("Meat")); + Assertions.assertFalse(basket.addBagel("Meat")); basket.changeBasketCapacity(10); Assertions.assertTrue(basket.addBagel("Plain")); - - } + } } From ad4ae40739f7cd7e1dbf7ce776bf261aaad80e87 Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 16:10:11 +0200 Subject: [PATCH 11/15] removed member id. --- domain-model.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/domain-model.md b/domain-model.md index c82cc32f..f04d8c54 100644 --- a/domain-model.md +++ b/domain-model.md @@ -1,13 +1,13 @@ -| Classes | Method | Member Variables | Scenario | Output | -|----------|------------------------------------------------|----------------------|------------------------------------------------------------------------------|------------| +| 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 | -| | | `int member` | | | -| | `removeBagel(String bagelType)` | `int manager` | 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 | -| | | | | | +| | | `int basketLimit` | Else: let user know it is full. | false | +| | | | | | +| | `removeBagel(String bagelType)` | `int manager` | 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)` | `int numberOfBaskets` | Replace the basketLimit with newBasketCapacity. Success equals true | true/false | From 3fb774814513c2a912b8c75a89b8cf129219087c Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 16:20:07 +0200 Subject: [PATCH 12/15] fixed typo --- domain-model.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/domain-model.md b/domain-model.md index f04d8c54..50317d47 100644 --- a/domain-model.md +++ b/domain-model.md @@ -1,14 +1,14 @@ -| 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 manager` | 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)` | `int numberOfBaskets` | Replace the basketLimit with newBasketCapacity. Success equals true | true/false | +| 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)` | `int numberOfBaskets` | If user is manager, replace the basketLimit with newBasketCapacity. Success of change equals true | true/false | From f7e08d38f4668f20d5b522eb49314cf150201b15 Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 16:22:38 +0200 Subject: [PATCH 13/15] fixed manager authentication for changing the basketLimit. --- src/main/java/com/booleanuk/core/Basket.java | 16 +++++++++++++--- src/test/java/com/booleanuk/core/BasketTest.java | 2 ++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 5b332a05..f3494d14 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -5,8 +5,8 @@ public class Basket { private ArrayList bagels; - private int basketLimit = 2; - private int numberOfBaskets = 10; + private int basketLimit = 4; + private int managerKey = 9999; public Basket() { this.bagels = new ArrayList<>(); @@ -19,10 +19,14 @@ public boolean addBagel(String bagelType) { return true; } + + return false; } + + public boolean removeBagel(String bagelType) { if (bagels.contains(bagelType)){ bagels.remove(bagelType); @@ -32,6 +36,12 @@ public boolean removeBagel(String bagelType) { 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 af21d43c..abac6a25 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -33,6 +33,8 @@ public void testChangeBasketCapacity() { basket.addBagel("Cheese"); basket.addBagel("Lettuce"); + basket.addBagel("Salt"); + Assertions.assertFalse(basket.addBagel("Meat")); basket.changeBasketCapacity(10); From db58518dc784291e6ad8738ec9bdf57e386b3d00 Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 16:24:54 +0200 Subject: [PATCH 14/15] removed numberOfBaskets not in use. --- domain-model.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/domain-model.md b/domain-model.md index 50317d47..fa837869 100644 --- a/domain-model.md +++ b/domain-model.md @@ -8,7 +8,7 @@ | | `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)` | `int numberOfBaskets` | If user is manager, replace the basketLimit with newBasketCapacity. Success of change equals true | true/false | +| | `changeBasketCapacity(int newBasketCapacity)` | | If user is manager, replace the basketLimit with newBasketCapacity. Success of change equals true | true/false | From 8f7690324dadb14ce9f70007cfb77a8c8e7bd996 Mon Sep 17 00:00:00 2001 From: Ludwig J Lundborg Date: Wed, 14 Aug 2024 16:31:19 +0200 Subject: [PATCH 15/15] ChangeBasketCapacity() passing the green test --- src/main/java/com/booleanuk/core/Basket.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index f3494d14..394885d4 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -24,9 +24,6 @@ public boolean addBagel(String bagelType) { return false; } - - - public boolean removeBagel(String bagelType) { if (bagels.contains(bagelType)){ bagels.remove(bagelType); @@ -36,6 +33,7 @@ public boolean removeBagel(String bagelType) { return false; } + public boolean changeBasketCapacity(int newBasketCapacity){ if(managerKey == 9999){ basketLimit = newBasketCapacity;