From 0263f5298442f08f1593d8b9770ffc6f37bca4b2 Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 15 Jan 2024 14:27:25 +0100 Subject: [PATCH 1/9] Created domain model. --- src/domain-model.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/domain-model.md diff --git a/src/domain-model.md b/src/domain-model.md new file mode 100644 index 00000000..cf1edba3 --- /dev/null +++ b/src/domain-model.md @@ -0,0 +1,12 @@ +| Clasess | Members | Methods | Scenario | Output | +|---------|--------------------------|-------------------------------------------|-------------------------|--------------------| +| Basket | ArrayList bagels | add(String bagel) | Can add to list | updated list | +| | | | Can't add to list | list full | +| | | remove(String bagel) | Remove item | updated list | +| | | | List empty | empty list | +| | | isFull() | List is full | true | +| | | | List is not full | false | +| | | expandListCapacity() | Add size to list | new size list | +| | | tryRemoveNonExistingElement(String bagel) | List don't contain item | can't find in list | +| | | | | | +| | | | | | From 1256c224f61da0a996afb237868c660040fff6a4 Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 15 Jan 2024 15:54:02 +0100 Subject: [PATCH 2/9] Created domain model. --- src/domain-model.md | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/src/domain-model.md b/src/domain-model.md index cf1edba3..f40ac2bf 100644 --- a/src/domain-model.md +++ b/src/domain-model.md @@ -1,12 +1,28 @@ -| Clasess | Members | Methods | Scenario | Output | -|---------|--------------------------|-------------------------------------------|-------------------------|--------------------| -| Basket | ArrayList bagels | add(String bagel) | Can add to list | updated list | -| | | | Can't add to list | list full | -| | | remove(String bagel) | Remove item | updated list | -| | | | List empty | empty list | -| | | isFull() | List is full | true | -| | | | List is not full | false | -| | | expandListCapacity() | Add size to list | new size list | -| | | tryRemoveNonExistingElement(String bagel) | List don't contain item | can't find in list | -| | | | | | -| | | | | | +| Clasess | Members | Methods | Scenario | Output | +|---------|---------------------------------|-------------------------------------------|-------------------------|--------------------| +| Basket | HashMap bagels | add(String bagel) | Can add to list | return true | +| | | | | | + + +| Clasess | Members | Methods | Scenario | Output | +|---------|---------------------------------|----------------------|------------------|--------------| +| Basket | HashMap bagels | remove(String bagel) | Can add to list | return true | +| | | | Cant add to list | return false | + + +| Clasess | Members | Methods | Scenario | Output | +|---------|---------------------------------|---------------------|----------|--------------| +| Basket | HashMap bagels | isFull(int howMany) | Not full | return true | +| | int howMany | | Full | return false | + + +| Clasess | Members | Methods | Scenario | Output | +|---------|-------------|-----------------------------|----------------------------------|---------| +| Basket | int howMany | capacitySetter(int howMany) | Changed how many bagels capacity | changed | +| | | | | | + + +| Clasess | Members | Methods | Scenario | Output | +|---------|---------------------------------|----------------------|---------------------------|--------------| +| Basket | HashMap bagels | remove(String bagel) | Is existing can remove | return true | +| | | | Not existing can't remove | return false | \ No newline at end of file From 9a93a8dc9937de48dc3aba50616c89760465ce57 Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 15 Jan 2024 18:27:43 +0100 Subject: [PATCH 3/9] Created tests. --- .../java/com/booleanuk/core/BasketTest.java | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index e35771b3..f862ebd1 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -3,6 +3,87 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import java.util.ArrayList; + class BasketTest { + @Test + public void canAddBagelToEmpty() { + Basket basket = new Basket(); + Assertions.assertTrue(basket.add("Bagel", 1)); + + + } + + @Test + public void canAddSeveralBagelToEmpty() { + Basket basket = new Basket(); + Assertions.assertTrue(basket.add("Bagel", 1)); + Assertions.assertTrue(basket.add("B", 2)); + Assertions.assertTrue(basket.add("Bag", 3)); + + + } + + + @Test + public void cantAddEmptyBagel() { + Basket basket = new Basket(); + Assertions.assertFalse(basket.add("", 1)); + + + } + + + @Test + public void cantAddSameBagel() { + Basket basket = new Basket(); + basket.add("Bagel", 1); + Assertions.assertFalse(basket.bagels.containsKey("Bagel")); + + } + + + @Test + public void canRemoveBagel() { + Basket basket = new Basket(); + basket.add("Bagel", 1); + boolean result = basket.remove("Bagel", 1); + Assertions.assertTrue(result); + + } + + @Test + public void removeNonExistingBagel() { + Basket basket = new Basket(); + basket.bagels.put("Bagel", 1); + Assertions.assertFalse(basket.remove("Bag", 1)); + } + + @Test + public void isRemoved() { + Basket basket = new Basket(); + basket.bagels.put("Bagel", 1); + basket.remove("Bagel", 1); + Assertions.assertTrue(basket.bagels.isEmpty()); + } + + @Test + public void limitBagel() { + Basket basket = new Basket(); + basket.setLimit(5); + Assertions.assertEquals(5, basket.limit); + } + + @Test + public void limitBagelOneAddOneBagel() { + Basket basket = new Basket(); + basket.add("Bagel", 1); + basket.add("Ba", 2); + basket.setLimit(3); + Assertions.assertTrue(basket.add("Bag", 3)); + + + } + } From c13548cd8a0037e25861ec68424d580a84fc9330 Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 15 Jan 2024 18:43:49 +0100 Subject: [PATCH 4/9] Updated tests. --- .../java/com/booleanuk/core/BasketTest.java | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index f862ebd1..2a736f47 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -18,9 +18,9 @@ public void canAddBagelToEmpty() { @Test public void canAddSeveralBagelToEmpty() { Basket basket = new Basket(); - Assertions.assertTrue(basket.add("Bagel", 1)); - Assertions.assertTrue(basket.add("B", 2)); - Assertions.assertTrue(basket.add("Bag", 3)); + Assertions.assertTrue(basket.add("Bagel", 0)); + Assertions.assertTrue(basket.add("B", 1)); + Assertions.assertTrue(basket.add("Bag", 2)); } @@ -35,15 +35,6 @@ public void cantAddEmptyBagel() { } - @Test - public void cantAddSameBagel() { - Basket basket = new Basket(); - basket.add("Bagel", 1); - Assertions.assertFalse(basket.bagels.containsKey("Bagel")); - - } - - @Test public void canRemoveBagel() { Basket basket = new Basket(); @@ -78,10 +69,9 @@ public void limitBagel() { @Test public void limitBagelOneAddOneBagel() { Basket basket = new Basket(); - basket.add("Bagel", 1); - basket.add("Ba", 2); - basket.setLimit(3); - Assertions.assertTrue(basket.add("Bag", 3)); + basket.add("Bagel", 0); + basket.setLimit(2); + Assertions.assertTrue(basket.add("Bag", 1)); } From 1ef3a591ffea8b5096f0d0183e903170fb7a7332 Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 15 Jan 2024 18:44:29 +0100 Subject: [PATCH 5/9] Created source code. --- src/main/java/com/booleanuk/core/Basket.java | 37 ++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index df7a20aa..6ffeebae 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -1,5 +1,42 @@ package com.booleanuk.core; +import java.util.HashMap; + public class Basket { + + public HashMap bagels; + + + int limit; + + + public Basket() { + this.limit = 4; + this.bagels = new HashMap<>(); + } + + public boolean add(String bagel, int i) { + + if (bagel.isBlank() || (this.bagels.size() + i) > limit) { + return false; + } else { + this.bagels.put(bagel, i); + } + return true; + } + + public boolean remove(String bagel, int i) { + if (!this.bagels.containsKey(bagel) || this.bagels.get(bagel) < i) { + return false; + } else { + this.bagels.remove(bagel); + } + return true; + } + + public void setLimit(int numberOf) { + + this.limit = numberOf; + } } From f45400a1262ac21652478697cbee0eea28b8ca84 Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 15 Jan 2024 18:45:23 +0100 Subject: [PATCH 6/9] Created source code. --- src/main/java/com/booleanuk/core/Basket.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 6ffeebae..14980609 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -6,8 +6,6 @@ public class Basket { public HashMap bagels; - - int limit; From 9fe0c97b6615839b7f3d7529524cab7b059255ec Mon Sep 17 00:00:00 2001 From: Alexander Date: Tue, 16 Jan 2024 08:24:02 +0100 Subject: [PATCH 7/9] Created source code. --- src/domain-model.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/domain-model.md b/src/domain-model.md index f40ac2bf..34c2b6d4 100644 --- a/src/domain-model.md +++ b/src/domain-model.md @@ -1,3 +1,6 @@ +package com.booleanuk.core; + + | Clasess | Members | Methods | Scenario | Output | |---------|---------------------------------|-------------------------------------------|-------------------------|--------------------| | Basket | HashMap bagels | add(String bagel) | Can add to list | return true | @@ -25,4 +28,4 @@ | Clasess | Members | Methods | Scenario | Output | |---------|---------------------------------|----------------------|---------------------------|--------------| | Basket | HashMap bagels | remove(String bagel) | Is existing can remove | return true | -| | | | Not existing can't remove | return false | \ No newline at end of file +| | | | Not existing can't remove
| return false | \ No newline at end of file From 00ad2cd55b5527d91cae55494bd79f615e8eaa62 Mon Sep 17 00:00:00 2001 From: Alexander Date: Tue, 16 Jan 2024 08:27:51 +0100 Subject: [PATCH 8/9] Created source code. --- src/domain-model.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/domain-model.md b/src/domain-model.md index 34c2b6d4..99e09149 100644 --- a/src/domain-model.md +++ b/src/domain-model.md @@ -1,4 +1,4 @@ -package com.booleanuk.core; +package com.boolean; | Clasess | Members | Methods | Scenario | Output | From 2f57845c444040d80f509def1d57bd76d067ba7f Mon Sep 17 00:00:00 2001 From: Alexander Date: Tue, 16 Jan 2024 09:29:44 +0100 Subject: [PATCH 9/9] Created source code. --- src/main/java/com/booleanuk/core/Basket.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 14980609..8644adf8 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -4,7 +4,6 @@ public class Basket { - public HashMap bagels; int limit;