From 51e691b097274ccd75d119d7f09ccd00b460e20c Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 13:43:51 +0200 Subject: [PATCH 01/35] First test --- domain-model.md | 16 ++++++++++++++++ src/test/java/com/booleanuk/core/BasketTest.java | 7 +++++++ 2 files changed, 23 insertions(+) create mode 100644 domain-model.md diff --git a/domain-model.md b/domain-model.md new file mode 100644 index 00000000..470bce09 --- /dev/null +++ b/domain-model.md @@ -0,0 +1,16 @@ + +| Classes | Variables | Methods | Scenario | Outcomes | +|----------|----------------------------------------------|-----------------------------|------------------------------------------------------|---------------------------------------------------------------------------| +| `Basket` | `private List basket` | `add(String bagel)` | Bagel is in the bagel list and the basket is not ful | Add bagel to basket, increment the currentBasketCapacity and return true | +| | `private List bagels` | | Bagel is not the list | Return false | +| | | | Basket is ful | Return false | +| | | | | | +| | `private int maxBasketCapacity` | `isBasketFull()` | Basket is ful | Write message to console and return true | +| | `private int currentBasketCapacity` | | Basket is not ful | Return false | +| | `private final int BAGEL_PRICE` | | | | +| | `private final int SIZE_TO_INCREMENT_BASKET` | `remove(String bagel)` | Bagel is in the bagel list | Remove bagel from basket, decrement currentBasketCapacity and return true | +| | | | Bagel is not the list | Write rejection message to consol and return false | +| | | | | | +| | | | | | +| | | `ìncrementBasketCapacity()` | Increment the basket capacity | Write confirmation message to console | +| | | | | | diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index e35771b3..5cc70964 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -5,4 +5,11 @@ class BasketTest { + private Basket basket = new Basket(); + + @Test + void testAddItem() { + Assertions.assertFalse(basket.addItem("")); + } + } From 2225a82617c31cde335a3580c79023bf0aca6cb9 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 13:44:58 +0200 Subject: [PATCH 02/35] First blood on addItem() --- src/main/java/com/booleanuk/core/Basket.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index df7a20aa..89459edc 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -2,4 +2,9 @@ public class Basket { + + public boolean addItem(String item) { + return false; + } + } From d981f94189653c8c8d052df2ae241555aa858ffc Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 13:54:04 +0200 Subject: [PATCH 03/35] Second test fails --- src/test/java/com/booleanuk/core/BasketTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 5cc70964..9536145d 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -5,11 +5,12 @@ class BasketTest { - private Basket basket = new Basket(); + private final Basket basket = new Basket(); @Test void testAddItem() { Assertions.assertFalse(basket.addItem("")); + Assertions.assertTrue(basket.addItem("item")); } } From 5793b424e21f3e069152b8a428495f1a513cec82 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 13:54:47 +0200 Subject: [PATCH 04/35] Second test works --- src/main/java/com/booleanuk/core/Basket.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 89459edc..6197c27f 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -4,7 +4,10 @@ public class Basket { public boolean addItem(String item) { - return false; + if (item.isEmpty()) { + return false; + } + return true; } } From 99b3e36298d170d29f6c73bd084500704e428cc1 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:05:25 +0200 Subject: [PATCH 05/35] Refactored second and third test --- src/test/java/com/booleanuk/core/BasketTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 9536145d..f75607cb 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -5,12 +5,13 @@ class BasketTest { - private final Basket basket = new Basket(); + private final Basket basket = new Basket(); @Test void testAddItem() { Assertions.assertFalse(basket.addItem("")); - Assertions.assertTrue(basket.addItem("item")); + Assertions.assertTrue(basket.addItem("bagel1")); + Assertions.assertFalse(basket.addItem("bagelThatNotExists")); } } From 12315f49025b397b761af677a3a5c801772891d0 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:05:49 +0200 Subject: [PATCH 06/35] Third test works --- src/main/java/com/booleanuk/core/Basket.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 6197c27f..6a10b63d 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -1,10 +1,17 @@ package com.booleanuk.core; +import java.util.List; + public class Basket { + private final List bagels; + + public Basket() { + this.bagels = List.of("bagel1", "bagel2", "bagel3"); + } public boolean addItem(String item) { - if (item.isEmpty()) { + if (item.isEmpty() || !bagels.contains(item)) { return false; } return true; From 6ebe98acffda8dad757f2795c6c77e455fdc1095 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:08:00 +0200 Subject: [PATCH 07/35] Added fourth Test --- 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 f75607cb..8ac70228 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -12,6 +12,7 @@ void testAddItem() { Assertions.assertFalse(basket.addItem("")); Assertions.assertTrue(basket.addItem("bagel1")); Assertions.assertFalse(basket.addItem("bagelThatNotExists")); + Assertions.assertTrue(basket.addItem("bagel4")); } } From 4b2e6eb293b4586148cf9332de502f915cc22ee0 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:11:22 +0200 Subject: [PATCH 08/35] Fourth Test works --- src/main/java/com/booleanuk/core/Basket.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 6a10b63d..18e5175c 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -7,7 +7,7 @@ public class Basket { private final List bagels; public Basket() { - this.bagels = List.of("bagel1", "bagel2", "bagel3"); + this.bagels = List.of("bagel1", "bagel2", "bagel3", "bagel4"); } public boolean addItem(String item) { From d016ebd07367539583c5875974c6763bb72444fc Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:12:09 +0200 Subject: [PATCH 09/35] Added first test for removeItem() --- src/test/java/com/booleanuk/core/BasketTest.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 8ac70228..ca231a11 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -15,4 +15,8 @@ void testAddItem() { Assertions.assertTrue(basket.addItem("bagel4")); } + @Test + void testRemoveItem() { + Assertions.assertFalse(basket.removeItem("")); + } } From 572ecbc0cde16664f444f37ff266f8102cf2f60e Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:12:58 +0200 Subject: [PATCH 10/35] First test on remove pass --- 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 18e5175c..0e48f8cf 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -17,4 +17,8 @@ public boolean addItem(String item) { return true; } + public boolean removeItem(String item) { + return false; + } + } From 42702bf7b9db77a20072dec0eeb269ab11be42fa Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:13:59 +0200 Subject: [PATCH 11/35] Second test on removeItem() --- 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 ca231a11..346cb389 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -18,5 +18,6 @@ void testAddItem() { @Test void testRemoveItem() { Assertions.assertFalse(basket.removeItem("")); + Assertions.assertTrue(basket.removeItem("bagel1")); } } From c7adc5c616c9fc9b4d7ce3d29abe7a50b681ff50 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:15:05 +0200 Subject: [PATCH 12/35] Second test on removeItem() pass --- src/main/java/com/booleanuk/core/Basket.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 0e48f8cf..59fac44f 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -18,7 +18,10 @@ public boolean addItem(String item) { } public boolean removeItem(String item) { - return false; + if (item.isEmpty()) { + return false; + } + return true; } } From 3d9e5fcece852b38aa815b65fd5539f64bcd9f79 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:15:53 +0200 Subject: [PATCH 13/35] Third test on removeItem() --- 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 346cb389..f4e9c44f 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -19,5 +19,6 @@ void testAddItem() { void testRemoveItem() { Assertions.assertFalse(basket.removeItem("")); Assertions.assertTrue(basket.removeItem("bagel1")); + Assertions.assertFalse(basket.removeItem("bagelThatNotExists")); } } From c0cbb71f6e3de060286cf6565ac6fd6338f8e548 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:16:13 +0200 Subject: [PATCH 14/35] Third test on removeItem() pass --- src/main/java/com/booleanuk/core/Basket.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 59fac44f..dd79c362 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -18,7 +18,7 @@ public boolean addItem(String item) { } public boolean removeItem(String item) { - if (item.isEmpty()) { + if (item.isEmpty() || !bagels.contains(item)) { return false; } return true; From d8768413102d177e24c06908c3ab04e513b6c140 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:26:40 +0200 Subject: [PATCH 15/35] Refactored Basket --- 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 dd79c362..adf54dda 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -5,15 +5,18 @@ public class Basket { private final List bagels; + private List basket; public Basket() { this.bagels = List.of("bagel1", "bagel2", "bagel3", "bagel4"); + this.basket = List.of(); } public boolean addItem(String item) { if (item.isEmpty() || !bagels.contains(item)) { return false; } + basket.add(item); return true; } From 4d466aabac1366f7202bb54b3d40ec50f9a60978 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:37:57 +0200 Subject: [PATCH 16/35] Refactored third test on removeItem() and refactored Basket again --- src/main/java/com/booleanuk/core/Basket.java | 5 +++-- src/test/java/com/booleanuk/core/BasketTest.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index adf54dda..ad31317e 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; +import java.util.ArrayList; import java.util.List; public class Basket { @@ -9,7 +10,7 @@ public class Basket { public Basket() { this.bagels = List.of("bagel1", "bagel2", "bagel3", "bagel4"); - this.basket = List.of(); + this.basket = new ArrayList<>(); } public boolean addItem(String item) { @@ -21,7 +22,7 @@ public boolean addItem(String item) { } public boolean removeItem(String item) { - if (item.isEmpty() || !bagels.contains(item)) { + if (item.isEmpty() || !basket.contains(item)) { 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 f4e9c44f..28c21db6 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -18,7 +18,7 @@ void testAddItem() { @Test void testRemoveItem() { Assertions.assertFalse(basket.removeItem("")); + Assertions.assertTrue(basket.addItem("bagel1")); Assertions.assertTrue(basket.removeItem("bagel1")); - Assertions.assertFalse(basket.removeItem("bagelThatNotExists")); } } From 5897f08815d0ebede388e109125c8921bb628568 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:39:59 +0200 Subject: [PATCH 17/35] Third test on removeItem() --- 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 28c21db6..39e2cdec 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -20,5 +20,6 @@ void testRemoveItem() { Assertions.assertFalse(basket.removeItem("")); Assertions.assertTrue(basket.addItem("bagel1")); Assertions.assertTrue(basket.removeItem("bagel1")); + Assertions.assertFalse(basket.removeItem("bagel1")); } } From f8c3a278040a49124d93c6a5a589402dc6cfabd5 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:40:31 +0200 Subject: [PATCH 18/35] Third test on removeItem() pass --- src/main/java/com/booleanuk/core/Basket.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index ad31317e..3268323d 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -25,6 +25,7 @@ public boolean removeItem(String item) { if (item.isEmpty() || !basket.contains(item)) { return false; } + basket.remove(item); return true; } From 2ee738ca90315ada82944a593b2159dfe1aca43d Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:41:55 +0200 Subject: [PATCH 19/35] Refactored domain model --- domain-model.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/domain-model.md b/domain-model.md index 470bce09..d4c23d35 100644 --- a/domain-model.md +++ b/domain-model.md @@ -9,7 +9,7 @@ | | `private int currentBasketCapacity` | | Basket is not ful | Return false | | | `private final int BAGEL_PRICE` | | | | | | `private final int SIZE_TO_INCREMENT_BASKET` | `remove(String bagel)` | Bagel is in the bagel list | Remove bagel from basket, decrement currentBasketCapacity and return true | -| | | | Bagel is not the list | Write rejection message to consol and return false | +| | | | Bagel is not in the basket | Write rejection message to console and return false | | | | | | | | | | | | | | | | `ìncrementBasketCapacity()` | Increment the basket capacity | Write confirmation message to console | From c555be29d7ab421fc1ed2f5f78401f1fb3851bea Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:45:44 +0200 Subject: [PATCH 20/35] Refactored Basket to follow domain model --- src/main/java/com/booleanuk/core/Basket.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 3268323d..7e280221 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -23,6 +23,7 @@ public boolean addItem(String item) { public boolean removeItem(String item) { if (item.isEmpty() || !basket.contains(item)) { + System.out.println("Bagel is not in the basket"); return false; } basket.remove(item); From dfbb435df46dda619e02ca87d84cb80d047a84ea Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:49:01 +0200 Subject: [PATCH 21/35] First test of isBasketFull() --- src/test/java/com/booleanuk/core/BasketTest.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 39e2cdec..e25374b7 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -22,4 +22,9 @@ void testRemoveItem() { Assertions.assertTrue(basket.removeItem("bagel1")); Assertions.assertFalse(basket.removeItem("bagel1")); } + + @Test + void testIsBasketFull() { + Assertions.assertFalse(basket.isBasketFull()); + } } From 11933d2f0057017349055295f21dcedcedd98f97 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:52:40 +0200 Subject: [PATCH 22/35] First test of isBasketFull() pass --- 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 7e280221..96ebaf91 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -30,4 +30,8 @@ public boolean removeItem(String item) { return true; } + public boolean isBasketFull() { + return false; + } + } From fa3a5a2bc476acfda4edadced8f9711906a22a1b Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 14:53:40 +0200 Subject: [PATCH 23/35] Second test of isBasketFull() --- 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 e25374b7..f570957d 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -26,5 +26,6 @@ void testRemoveItem() { @Test void testIsBasketFull() { Assertions.assertFalse(basket.isBasketFull()); + Assertions.assertTrue(basket.isBasketFull()); } } From 7967e7aba6b72dbb12e029bae8f042e93421b051 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 15:11:50 +0200 Subject: [PATCH 24/35] Refactored second test of isBasketFull() --- src/test/java/com/booleanuk/core/BasketTest.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index f570957d..dd839d10 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -23,9 +23,14 @@ void testRemoveItem() { Assertions.assertFalse(basket.removeItem("bagel1")); } - @Test + @Test void testIsBasketFull() { Assertions.assertFalse(basket.isBasketFull()); + Assertions.assertTrue(basket.addItem("bagel1")); + Assertions.assertTrue(basket.addItem("bagel2")); + Assertions.assertTrue(basket.addItem("bagel3")); + Assertions.assertTrue(basket.addItem("bagel4")); + Assertions.assertTrue(basket.addItem("bagel4")); Assertions.assertTrue(basket.isBasketFull()); } } From 646cc8ade6264023ba02778128852ed815f6c62f Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 15:12:58 +0200 Subject: [PATCH 25/35] Second test of isBasketFull() pass --- src/main/java/com/booleanuk/core/Basket.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 96ebaf91..4ce3ffe3 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -8,6 +8,8 @@ public class Basket { private final List bagels; private List basket; + private static final int MAX_BAGELS = 5; + public Basket() { this.bagels = List.of("bagel1", "bagel2", "bagel3", "bagel4"); this.basket = new ArrayList<>(); @@ -31,6 +33,9 @@ public boolean removeItem(String item) { } public boolean isBasketFull() { + if (basket.size() == MAX_BAGELS) { + return true; + } return false; } From c3101f545e9a73374711d1e2d3da2c84cb5795c8 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 15:13:50 +0200 Subject: [PATCH 26/35] Refactored isBasketFull() --- src/main/java/com/booleanuk/core/Basket.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 4ce3ffe3..0d1cd9ee 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -34,6 +34,7 @@ public boolean removeItem(String item) { public boolean isBasketFull() { if (basket.size() == MAX_BAGELS) { + System.out.println("Basket is full"); return true; } return false; From 7dc51efcb01d4e4df26f0dbf15d833afb42b459b Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 15:23:51 +0200 Subject: [PATCH 27/35] first testIncrementBasketCapacity() --- src/test/java/com/booleanuk/core/BasketTest.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index dd839d10..4437bab8 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -33,4 +33,9 @@ void testIsBasketFull() { Assertions.assertTrue(basket.addItem("bagel4")); Assertions.assertTrue(basket.isBasketFull()); } + + @Test + void testIncrementBasketCapacity() { + basket.incrementBasketCapacity(); + } } From 0ad0a1e2af1d9f72b9c736e53696b0c2c6ad546a Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 15:24:35 +0200 Subject: [PATCH 28/35] First testIncrementBasketCapacity() pass + some refactoring --- src/main/java/com/booleanuk/core/Basket.java | 10 ++++++++-- 1 file 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 0d1cd9ee..c7aaac29 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -8,7 +8,8 @@ public class Basket { private final List bagels; private List basket; - private static final int MAX_BAGELS = 5; + private int maxBagels = 5; + private static final int SIZE_TO_INCREMENT_BASKET = 5; public Basket() { this.bagels = List.of("bagel1", "bagel2", "bagel3", "bagel4"); @@ -33,11 +34,16 @@ public boolean removeItem(String item) { } public boolean isBasketFull() { - if (basket.size() == MAX_BAGELS) { + if (basket.size() == maxBagels) { System.out.println("Basket is full"); return true; } return false; } + public void incrementBasketCapacity() { + System.out.println("Basket capacity increased"); + maxBagels += SIZE_TO_INCREMENT_BASKET; + } + } From 47c0442feaea36244b2aef94dac3f8eaf8d408da Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 15:27:43 +0200 Subject: [PATCH 29/35] Refactored --- domain-model.md | 6 +++--- src/main/java/com/booleanuk/core/Basket.java | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/domain-model.md b/domain-model.md index d4c23d35..030e4ce1 100644 --- a/domain-model.md +++ b/domain-model.md @@ -6,9 +6,9 @@ | | | | Basket is ful | Return false | | | | | | | | | `private int maxBasketCapacity` | `isBasketFull()` | Basket is ful | Write message to console and return true | -| | `private int currentBasketCapacity` | | Basket is not ful | Return false | -| | `private final int BAGEL_PRICE` | | | | -| | `private final int SIZE_TO_INCREMENT_BASKET` | `remove(String bagel)` | Bagel is in the bagel list | Remove bagel from basket, decrement currentBasketCapacity and return true | +| | `private final int SIZE_TO_INCREMENT_BASKET` | | Basket is not ful | Return false | +| | | | | | +| | | `remove(String bagel)` | Bagel is in the bagel list | Remove bagel from basket, decrement currentBasketCapacity and return true | | | | | Bagel is not in the basket | Write rejection message to console and return false | | | | | | | | | | | | | diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index c7aaac29..6038488b 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -8,7 +8,7 @@ public class Basket { private final List bagels; private List basket; - private int maxBagels = 5; + private int maxBasketCapacity = 5; private static final int SIZE_TO_INCREMENT_BASKET = 5; public Basket() { @@ -34,7 +34,7 @@ public boolean removeItem(String item) { } public boolean isBasketFull() { - if (basket.size() == maxBagels) { + if (basket.size() == maxBasketCapacity) { System.out.println("Basket is full"); return true; } @@ -43,7 +43,7 @@ public boolean isBasketFull() { public void incrementBasketCapacity() { System.out.println("Basket capacity increased"); - maxBagels += SIZE_TO_INCREMENT_BASKET; + maxBasketCapacity += SIZE_TO_INCREMENT_BASKET; } } From 1bd5d7cd639b19c51cac6ee78c69ecc6e142fe8c Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 15:33:28 +0200 Subject: [PATCH 30/35] Refactored the test class to have a addBagelsToBasket method --- src/test/java/com/booleanuk/core/BasketTest.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 4437bab8..577e4d54 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -7,6 +7,12 @@ class BasketTest { private final Basket basket = new Basket(); + private void addBagelsToBasket(String... bagels) { + for (String bagel : bagels) { + basket.addItem(bagel); + } + } + @Test void testAddItem() { Assertions.assertFalse(basket.addItem("")); @@ -18,7 +24,7 @@ void testAddItem() { @Test void testRemoveItem() { Assertions.assertFalse(basket.removeItem("")); - Assertions.assertTrue(basket.addItem("bagel1")); + addBagelsToBasket("bagel1"); Assertions.assertTrue(basket.removeItem("bagel1")); Assertions.assertFalse(basket.removeItem("bagel1")); } @@ -26,11 +32,7 @@ void testRemoveItem() { @Test void testIsBasketFull() { Assertions.assertFalse(basket.isBasketFull()); - Assertions.assertTrue(basket.addItem("bagel1")); - Assertions.assertTrue(basket.addItem("bagel2")); - Assertions.assertTrue(basket.addItem("bagel3")); - Assertions.assertTrue(basket.addItem("bagel4")); - Assertions.assertTrue(basket.addItem("bagel4")); + addBagelsToBasket("bagel1", "bagel2", "bagel3", "bagel4", "bagel4"); Assertions.assertTrue(basket.isBasketFull()); } @@ -38,4 +40,4 @@ void testIsBasketFull() { void testIncrementBasketCapacity() { basket.incrementBasketCapacity(); } -} +} \ No newline at end of file From 7bf205c3fb1b1e167c29920caedfdaa7127de916 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 15:36:30 +0200 Subject: [PATCH 31/35] Refactor --- src/main/java/com/booleanuk/core/Basket.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 6038488b..71de95dc 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -6,7 +6,7 @@ public class Basket { private final List bagels; - private List basket; + private final List basket; private int maxBasketCapacity = 5; private static final int SIZE_TO_INCREMENT_BASKET = 5; From dd5e572011139fca9a28de990fe3aa021fdcffec Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 15:51:21 +0200 Subject: [PATCH 32/35] Added one more test to testAddItem() --- 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 577e4d54..138df9ac 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -19,6 +19,7 @@ void testAddItem() { Assertions.assertTrue(basket.addItem("bagel1")); Assertions.assertFalse(basket.addItem("bagelThatNotExists")); Assertions.assertTrue(basket.addItem("bagel4")); + Assertions.assertTrue(basket.getbasket().contains("bagel4")); } @Test From c754ae959433905dd44ecbb5adc8839aae39d5d2 Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 15:52:32 +0200 Subject: [PATCH 33/35] refactored the test --- src/test/java/com/booleanuk/core/BasketTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 138df9ac..e2015543 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -19,7 +19,7 @@ void testAddItem() { Assertions.assertTrue(basket.addItem("bagel1")); Assertions.assertFalse(basket.addItem("bagelThatNotExists")); Assertions.assertTrue(basket.addItem("bagel4")); - Assertions.assertTrue(basket.getbasket().contains("bagel4")); + Assertions.assertTrue(basket.getBasket().contains("bagel4")); } @Test From 9f6cf34a36024ec1fc3867b0f3b308a934464e2e Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 15:52:50 +0200 Subject: [PATCH 34/35] The test passes --- 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 71de95dc..d27c2d49 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -46,4 +46,8 @@ public void incrementBasketCapacity() { maxBasketCapacity += SIZE_TO_INCREMENT_BASKET; } + public List getBasket() { + return basket; + } + } From 93e586baedd51a7fc507f0774cc42e4467f1c27b Mon Sep 17 00:00:00 2001 From: Simon Fredriksson Date: Wed, 14 Aug 2024 15:55:32 +0200 Subject: [PATCH 35/35] Added a test to testRemoveItem() for better coverage --- 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 e2015543..e9db9978 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -28,6 +28,7 @@ void testRemoveItem() { addBagelsToBasket("bagel1"); Assertions.assertTrue(basket.removeItem("bagel1")); Assertions.assertFalse(basket.removeItem("bagel1")); + Assertions.assertFalse(basket.getBasket().contains("bagel1")); } @Test