From 5d71efb375c3d9c5fd8979812e5046eb1707f279 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 13:57:32 +0200 Subject: [PATCH 01/19] Done with first test --- DomainModel.md | 53 +++++++++++++++++++ .../java/com/booleanuk/core/BasketTest.java | 11 ++++ 2 files changed, 64 insertions(+) create mode 100644 DomainModel.md diff --git a/DomainModel.md b/DomainModel.md new file mode 100644 index 00000000..ed3cdfb4 --- /dev/null +++ b/DomainModel.md @@ -0,0 +1,53 @@ +## Exercise Requirements + +- Use only the Basket class and BasketTest class provided. Later, you'll be building another version of this project using multiple classes together as we learn object-oriented programming. +- You **must** design a domain model before you begin building. Add your model as either a `.md` file or a screenshot +- You **must** use the Red Green Refactor approach to write your code. To demonstrate this, `git commit` after writing your test and commit again after writing the source code to pass it + +## User Stories + +``` +1. +As a member of the public, +So I can order a bagel before work, +I'd like to add a specific type of bagel to my basket. +``` + +``` +2. +As a member of the public, +So I can change my order, +I'd like to remove a bagel from my basket. +``` + +``` +3. +As a member of the public, +So that I can not overfill my small bagel basket +I'd like to know when my basket is full when I try adding an item beyond my basket capacity. +``` + +``` +4. +As a Bob's Bagels manager, +So that I can expand my business, +I’d like to change the capacity of baskets. +``` + +``` +5. +As a member of the public +So that I can maintain my sanity +I'd like to know if I try to remove an item that doesn't exist in my basket. +``` +## Domain model Basket + +| Variables | Methods | Scenario | Outputs | +|------------------------------------|-----------------------------------------|--------------------------------|-------------------------------------------------------------| +| `ArrayList bagelsInStore` | | | | +| `ArrayList bagelsInBasket` | `boolean removeBagel(String name)` | Removing a specific bagel | Sysout bagel removed from basket or bagel doesnt exist | +| | `boolean addBagel(String name)` | user adds bagels to basket | Sysout if reched max capacity or if not output baggel added | //Notes Check by array length if the length becomes longer then max capacity +| `int maxCapacity` | `boolean incrementCapacity(int amount)` | Bob wants to grow his capacity | return capacity incremented | + + +## Domain model diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index e35771b3..61f4508f 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -4,5 +4,16 @@ import org.junit.jupiter.api.Test; class BasketTest { +Basket basket; + + BasketTest(){ + basket = new Basket(); + } + + @Test + public void testAddBagelExists() { + Assertions.assertFalse(basket.addBagel("")); + + } } From d7daef22e417f5ff0baeeb3afa855e3e91407f9d Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 13:58:23 +0200 Subject: [PATCH 02/19] First test is now passing --- src/main/java/com/booleanuk/core/Basket.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index df7a20aa..eb282b06 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -2,4 +2,11 @@ public class Basket { + public boolean addBagel(String name) { + if(name.isEmpty()) { + return false; + } + return true; + } + } From 71b311f5327c5bc9c306a9027bbb3990546d7afe Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 14:05:44 +0200 Subject: [PATCH 03/19] Did second testing in which im checking if the bagel string exsists in the bagelstore list or not --- src/main/java/com/booleanuk/core/Basket.java | 6 +++++- src/test/java/com/booleanuk/core/BasketTest.java | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index eb282b06..431ac0c4 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -1,11 +1,15 @@ package com.booleanuk.core; +import java.util.ArrayList; + public class Basket { + ArrayList bagelsInStore = new ArrayList(); public boolean addBagel(String name) { - if(name.isEmpty()) { + if(name.isEmpty() || !bagelsInStore.contains(name)) { return false; } + return true; } diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 61f4508f..aa410df3 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -16,4 +16,9 @@ public void testAddBagelExists() { } + @Test + public void testAddBagel() { + Assertions.assertTrue(basket.addBagel("Cheese Bagel")); + } + } From a732e129f7458eabbf28910b021d45a918637efa Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 14:07:49 +0200 Subject: [PATCH 04/19] Second test is now passing --- src/main/java/com/booleanuk/core/Basket.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 431ac0c4..ebbf7f83 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -5,6 +5,10 @@ public class Basket { ArrayList bagelsInStore = new ArrayList(); + public Basket() { + bagelsInStore.add("Cheese Bagel"); + } + public boolean addBagel(String name) { if(name.isEmpty() || !bagelsInStore.contains(name)) { return false; From a85349ecf45ba853d06d15a44996efb93d03a1af Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 14:25:36 +0200 Subject: [PATCH 05/19] Added the arraylist for the basked and message for user when something gets added --- src/main/java/com/booleanuk/core/Basket.java | 8 +++++--- src/test/java/com/booleanuk/core/BasketTest.java | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index ebbf7f83..0190df56 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -3,17 +3,19 @@ import java.util.ArrayList; public class Basket { - ArrayList bagelsInStore = new ArrayList(); + ArrayList bagelsInStore = new ArrayList<>(); + ArrayList bagelsInBasket = new ArrayList<>(); public Basket() { bagelsInStore.add("Cheese Bagel"); } public boolean addBagel(String name) { - if(name.isEmpty() || !bagelsInStore.contains(name)) { + if(name.isEmpty() || !(bagelsInStore.contains(name))) { return false; } - + bagelsInBasket.add(name); + System.out.println("Your: " + name + " Has been added to the basket"); return true; } diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index aa410df3..2a7b951b 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -19,6 +19,8 @@ public void testAddBagelExists() { @Test public void testAddBagel() { Assertions.assertTrue(basket.addBagel("Cheese Bagel")); + Assertions.assertFalse(basket.addBagel("Ham Bagel")); + } } From 025ec52596ee952100521ec909d9a3cd70542030 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 14:28:53 +0200 Subject: [PATCH 06/19] Added test for removing bagel in which doesn't exist --- src/main/java/com/booleanuk/core/Basket.java | 7 +++++++ src/test/java/com/booleanuk/core/BasketTest.java | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 0190df56..afa09ee5 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -19,4 +19,11 @@ public boolean addBagel(String name) { return true; } + public boolean removeBagel(String name) { + if(name.isEmpty() || !(bagelsInBasket.contains(name))) { + return false; + } + return true; + } + } diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 2a7b951b..504106b4 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -22,5 +22,9 @@ public void testAddBagel() { Assertions.assertFalse(basket.addBagel("Ham Bagel")); } + @Test + public void testRemoveBagel() { + Assertions.assertTrue(basket.removeBagel("Pepperoni Bagel")); + } } From f059ed92d8d1b803bc055f2b8c4ba05ef2d72ee9 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 14:37:06 +0200 Subject: [PATCH 07/19] Test for removing bagel passes --- src/main/java/com/booleanuk/core/Basket.java | 2 ++ src/test/java/com/booleanuk/core/BasketTest.java | 1 + 2 files changed, 3 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index afa09ee5..53b26097 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -8,6 +8,7 @@ public class Basket { public Basket() { bagelsInStore.add("Cheese Bagel"); + bagelsInBasket.add("Pepperoni Bagel"); } public boolean addBagel(String name) { @@ -21,6 +22,7 @@ public boolean addBagel(String name) { public boolean removeBagel(String name) { if(name.isEmpty() || !(bagelsInBasket.contains(name))) { + System.out.println("The item you're trying to remove doesn't exist."); return false; } return true; diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 504106b4..73ed02e2 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -21,6 +21,7 @@ public void testAddBagel() { Assertions.assertTrue(basket.addBagel("Cheese Bagel")); Assertions.assertFalse(basket.addBagel("Ham Bagel")); + } @Test public void testRemoveBagel() { From a2bf64632026a6c68cde24bc38308673b0a50e60 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 14:38:40 +0200 Subject: [PATCH 08/19] Trying again to remove bagel that doesnt exist --- src/test/java/com/booleanuk/core/BasketTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 73ed02e2..baad8c8d 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -25,6 +25,7 @@ public void testAddBagel() { } @Test public void testRemoveBagel() { + Assertions.assertFalse(basket.removeBagel("Double Cheese Bagel")); Assertions.assertTrue(basket.removeBagel("Pepperoni Bagel")); } From 49218b28b4bc182230602b41d191c6ba2ec4740e Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 14:47:08 +0200 Subject: [PATCH 09/19] Testing to see if we have reached max capacity --- src/main/java/com/booleanuk/core/Basket.java | 3 ++- src/test/java/com/booleanuk/core/BasketTest.java | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 53b26097..ab37d1ab 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -5,6 +5,7 @@ public class Basket { ArrayList bagelsInStore = new ArrayList<>(); ArrayList bagelsInBasket = new ArrayList<>(); + int maxCapacity = 3; public Basket() { bagelsInStore.add("Cheese Bagel"); @@ -12,7 +13,7 @@ public Basket() { } public boolean addBagel(String name) { - if(name.isEmpty() || !(bagelsInStore.contains(name))) { + if(name.isEmpty() || !(bagelsInStore.contains(name)) || maxCapacity == bagelsInBasket.size() ) { return false; } bagelsInBasket.add(name); diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index baad8c8d..0a174de3 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -29,4 +29,9 @@ public void testRemoveBagel() { Assertions.assertTrue(basket.removeBagel("Pepperoni Bagel")); } + @Test + public void testBucketIsFull() { + Assertions.assertFalse(basket.addBagel("Cheese Bagel")); + } + } From 672c48be6a25489c507817231f4de75d79c73c0a Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 14:48:55 +0200 Subject: [PATCH 10/19] We have now reached max capacity so test is working --- src/main/java/com/booleanuk/core/Basket.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index ab37d1ab..b8655a34 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -10,6 +10,9 @@ public class Basket { public Basket() { bagelsInStore.add("Cheese Bagel"); bagelsInBasket.add("Pepperoni Bagel"); + bagelsInBasket.add("Cheese Bagel"); + bagelsInBasket.add("Ham Bagel"); + } public boolean addBagel(String name) { From 6b970fa883081f1bc2c9dc81c9761aa6f8ceeb77 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 15:02:04 +0200 Subject: [PATCH 11/19] added test for increment capacity by Dave test fails as he is not bob --- DomainModel.md | 12 ++++++------ src/main/java/com/booleanuk/core/Basket.java | 9 +++++++++ src/test/java/com/booleanuk/core/BasketTest.java | 5 +++++ 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/DomainModel.md b/DomainModel.md index ed3cdfb4..e3f9ce46 100644 --- a/DomainModel.md +++ b/DomainModel.md @@ -42,12 +42,12 @@ I'd like to know if I try to remove an item that doesn't exist in my basket. ``` ## Domain model Basket -| Variables | Methods | Scenario | Outputs | -|------------------------------------|-----------------------------------------|--------------------------------|-------------------------------------------------------------| -| `ArrayList bagelsInStore` | | | | -| `ArrayList bagelsInBasket` | `boolean removeBagel(String name)` | Removing a specific bagel | Sysout bagel removed from basket or bagel doesnt exist | -| | `boolean addBagel(String name)` | user adds bagels to basket | Sysout if reched max capacity or if not output baggel added | //Notes Check by array length if the length becomes longer then max capacity -| `int maxCapacity` | `boolean incrementCapacity(int amount)` | Bob wants to grow his capacity | return capacity incremented | +| Variables | Methods | Scenario | Outputs | +|------------------------------------|------------------------------------------------------|--------------------------------|-------------------------------------------------------------| +| `ArrayList bagelsInStore` | | | | +| `ArrayList bagelsInBasket` | `boolean removeBagel(String name)` | Removing a specific bagel | Sysout bagel removed from basket or bagel doesnt exist | +| | `boolean addBagel(String name)` | user adds bagels to basket | Sysout if reched max capacity or if not output baggel added | //Notes Check by array length if the length becomes longer then max capacity +| `int maxCapacity` | `boolean incrementCapacity(int amount, String name)` | Bob wants to grow his capacity | return capacity incremented and sysout that it got higher | ## Domain model diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index b8655a34..d192bef1 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -32,4 +32,13 @@ public boolean removeBagel(String name) { return true; } + public boolean incrementCapacity(int amount, String name) { + if(name.equalsIgnoreCase("bob")) { + return false; + } + maxCapacity = maxCapacity + amount; + System.out.println("You have now updated the capacity"); + return true; + } + } diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 0a174de3..cc0281b3 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -34,4 +34,9 @@ public void testBucketIsFull() { Assertions.assertFalse(basket.addBagel("Cheese Bagel")); } + @Test + public void testIncrementBucketCapacity() { + Assertions.assertTrue(basket.incrementCapacity(2, "Dave")); + } + } From cdecab07d8f16990c3303eb9f8dd89a9b76b1101 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 15:03:31 +0200 Subject: [PATCH 12/19] Changed the function in incrementCapacity as i made a mistake with the test --- src/main/java/com/booleanuk/core/Basket.java | 3 --- src/test/java/com/booleanuk/core/BasketTest.java | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index d192bef1..c37018e0 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -33,9 +33,6 @@ public boolean removeBagel(String name) { } public boolean incrementCapacity(int amount, String name) { - if(name.equalsIgnoreCase("bob")) { - return false; - } maxCapacity = maxCapacity + amount; System.out.println("You have now updated the capacity"); return true; diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index cc0281b3..916797d1 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -36,7 +36,7 @@ public void testBucketIsFull() { @Test public void testIncrementBucketCapacity() { - Assertions.assertTrue(basket.incrementCapacity(2, "Dave")); + Assertions.assertFalse(basket.incrementCapacity(2, "Dave")); } } From 8e8ad38038392981c5c6d9872c20363a942bcd7e Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 15:04:36 +0200 Subject: [PATCH 13/19] Now the test is passing as it was not bob how did the change --- src/main/java/com/booleanuk/core/Basket.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index c37018e0..ed84c3a7 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -33,6 +33,9 @@ public boolean removeBagel(String name) { } public boolean incrementCapacity(int amount, String name) { + if(!name.equalsIgnoreCase("bob")) { + return false; + } maxCapacity = maxCapacity + amount; System.out.println("You have now updated the capacity"); return true; From bd3c826385f6a626e686e6b4aeec5ec5c2b2eae8 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 15:05:19 +0200 Subject: [PATCH 14/19] Added test for which it's bob trying to change the capacity --- src/test/java/com/booleanuk/core/BasketTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 916797d1..cd1eb6a2 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -37,6 +37,7 @@ public void testBucketIsFull() { @Test public void testIncrementBucketCapacity() { Assertions.assertFalse(basket.incrementCapacity(2, "Dave")); + Assertions.assertTrue(basket.incrementCapacity(2, "bob")); } } From 3d3da740b5c6093cdbd34530af4c933352a5fbe1 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 15:11:35 +0200 Subject: [PATCH 15/19] Fixed some mistakes in my testing hopefully it's okey --- src/main/java/com/booleanuk/core/Basket.java | 2 +- src/test/java/com/booleanuk/core/BasketTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index ed84c3a7..51a863fd 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -5,7 +5,7 @@ public class Basket { ArrayList bagelsInStore = new ArrayList<>(); ArrayList bagelsInBasket = new ArrayList<>(); - int maxCapacity = 3; + int maxCapacity = 5; public Basket() { bagelsInStore.add("Cheese Bagel"); diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index cd1eb6a2..cd3120e3 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -30,8 +30,8 @@ public void testRemoveBagel() { } @Test - public void testBucketIsFull() { - Assertions.assertFalse(basket.addBagel("Cheese Bagel")); + public void testBucketIsNotFull() { + Assertions.assertTrue(basket.addBagel("Cheese Bagel")); } @Test From 31e05d1f92ac485318bb99e2d1f694ce0a0194a9 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 15:17:48 +0200 Subject: [PATCH 16/19] Cleaned up code, thinking im done? --- DomainModel.md | 4 ++-- src/main/java/com/booleanuk/core/Basket.java | 13 +++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/DomainModel.md b/DomainModel.md index e3f9ce46..b9662f86 100644 --- a/DomainModel.md +++ b/DomainModel.md @@ -45,8 +45,8 @@ I'd like to know if I try to remove an item that doesn't exist in my basket. | Variables | Methods | Scenario | Outputs | |------------------------------------|------------------------------------------------------|--------------------------------|-------------------------------------------------------------| | `ArrayList bagelsInStore` | | | | -| `ArrayList bagelsInBasket` | `boolean removeBagel(String name)` | Removing a specific bagel | Sysout bagel removed from basket or bagel doesnt exist | -| | `boolean addBagel(String name)` | user adds bagels to basket | Sysout if reched max capacity or if not output baggel added | //Notes Check by array length if the length becomes longer then max capacity +| `ArrayList bagelsInBasket` | `boolean removeBagel(String bagel)` | Removing a specific bagel | Sysout bagel removed from basket or bagel doesnt exist | +| | `boolean addBagel(String bagel)` | user adds bagels to basket | Sysout if reched max capacity or if not output baggel added | //Notes Check by array length if the length becomes longer then max capacity | `int maxCapacity` | `boolean incrementCapacity(int amount, String name)` | Bob wants to grow his capacity | return capacity incremented and sysout that it got higher | diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 51a863fd..cd79478a 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -15,20 +15,21 @@ public Basket() { } - public boolean addBagel(String name) { - if(name.isEmpty() || !(bagelsInStore.contains(name)) || maxCapacity == bagelsInBasket.size() ) { + public boolean addBagel(String bagel) { + if(bagel.isEmpty() || !(bagelsInStore.contains(bagel)) || maxCapacity == bagelsInBasket.size() ) { return false; } - bagelsInBasket.add(name); - System.out.println("Your: " + name + " Has been added to the basket"); + bagelsInBasket.add(bagel); + System.out.println("Your: " + bagel + " Has been added to the basket"); return true; } - public boolean removeBagel(String name) { - if(name.isEmpty() || !(bagelsInBasket.contains(name))) { + public boolean removeBagel(String bagel) { + if(bagel.isEmpty() || !(bagelsInBasket.contains(bagel))) { System.out.println("The item you're trying to remove doesn't exist."); return false; } + System.out.println("The item " + bagel + " Got removed from your basket"); return true; } From 6b68a8314b36d59c465c844f9d5cff53991ad455 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 15:35:29 +0200 Subject: [PATCH 17/19] Added a test in which if i send an empty string to remove i will get returned false --- DomainModel.md | 2 +- src/test/java/com/booleanuk/core/BasketTest.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/DomainModel.md b/DomainModel.md index b9662f86..2965f987 100644 --- a/DomainModel.md +++ b/DomainModel.md @@ -47,7 +47,7 @@ I'd like to know if I try to remove an item that doesn't exist in my basket. | `ArrayList bagelsInStore` | | | | | `ArrayList bagelsInBasket` | `boolean removeBagel(String bagel)` | Removing a specific bagel | Sysout bagel removed from basket or bagel doesnt exist | | | `boolean addBagel(String bagel)` | user adds bagels to basket | Sysout if reched max capacity or if not output baggel added | //Notes Check by array length if the length becomes longer then max capacity -| `int maxCapacity` | `boolean incrementCapacity(int amount, String name)` | Bob wants to grow his capacity | return capacity incremented and sysout that it got higher | +| `int maxCapacity` | `boolean incrementCapacity(int amount, String name)` | Bob wants to grow his capacity | return true if incremented and sysout that it got higher | ## Domain model diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index cd3120e3..b54bba59 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -25,6 +25,7 @@ public void testAddBagel() { } @Test public void testRemoveBagel() { + Assertions.assertFalse(basket.addBagel("")); Assertions.assertFalse(basket.removeBagel("Double Cheese Bagel")); Assertions.assertTrue(basket.removeBagel("Pepperoni Bagel")); } From 5d03b9ae25e6f625180a6f9b770326307a93772d Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 15:49:56 +0200 Subject: [PATCH 18/19] Added more test cases --- src/main/java/com/booleanuk/core/Basket.java | 3 ++- src/test/java/com/booleanuk/core/BasketTest.java | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index cd79478a..acfc69cc 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -11,7 +11,7 @@ public Basket() { bagelsInStore.add("Cheese Bagel"); bagelsInBasket.add("Pepperoni Bagel"); bagelsInBasket.add("Cheese Bagel"); - bagelsInBasket.add("Ham Bagel"); + bagelsInBasket.add("bagel1"); } @@ -29,6 +29,7 @@ public boolean removeBagel(String bagel) { System.out.println("The item you're trying to remove doesn't exist."); return false; } + bagelsInBasket.remove(bagel); System.out.println("The item " + bagel + " Got removed from your basket"); return true; } diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index b54bba59..b221a324 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -20,14 +20,19 @@ public void testAddBagelExists() { public void testAddBagel() { Assertions.assertTrue(basket.addBagel("Cheese Bagel")); Assertions.assertFalse(basket.addBagel("Ham Bagel")); + Assertions.assertTrue(basket.bagelsInBasket.contains("Cheese Bagel")); + Assertions.assertFalse(basket.bagelsInBasket.contains("Ham Bagel")); } @Test public void testRemoveBagel() { Assertions.assertFalse(basket.addBagel("")); - Assertions.assertFalse(basket.removeBagel("Double Cheese Bagel")); + Assertions.assertFalse(basket.removeBagel("Double Cheese Bagel")); // doesn't exist Assertions.assertTrue(basket.removeBagel("Pepperoni Bagel")); + Assertions.assertFalse(basket.removeBagel("Pepperoni Bagel"));// exist + Assertions.assertFalse(basket.bagelsInBasket.contains("Pepperoni Bagel")); + Assertions.assertFalse(basket.bagelsInBasket.contains("Double Cheese Bagel")); } @Test From 31700a35edc20d73c2ae4ffdc51f89b269948ef4 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Aug 2024 15:50:55 +0200 Subject: [PATCH 19/19] added to see if you can have two of the same bagels in the basket --- src/test/java/com/booleanuk/core/BasketTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index b221a324..155a84f5 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -18,6 +18,7 @@ public void testAddBagelExists() { @Test public void testAddBagel() { + Assertions.assertTrue(basket.addBagel("Cheese Bagel")); Assertions.assertTrue(basket.addBagel("Cheese Bagel")); Assertions.assertFalse(basket.addBagel("Ham Bagel")); Assertions.assertTrue(basket.bagelsInBasket.contains("Cheese Bagel"));