From 2365a536c19989d97bd03d9948eefc26f745def0 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 13:33:21 +0200 Subject: [PATCH 01/21] Add domain table in markdown file. --- src/main/java/com/booleanuk/core/Domain.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/main/java/com/booleanuk/core/Domain.md diff --git a/src/main/java/com/booleanuk/core/Domain.md b/src/main/java/com/booleanuk/core/Domain.md new file mode 100644 index 00000000..db6ba549 --- /dev/null +++ b/src/main/java/com/booleanuk/core/Domain.md @@ -0,0 +1,10 @@ +| Classes | Variables | Methods | Scenario | Outcome | +|----------|-------------------------------------------|-----------------------------------|-----------------------------------------------|-----------------------------------| +| `Basket` | `HashMap> products` | `add(String product)` | Item succesfully added. | true | +| | | | Item could not be added. | false | +| | | | If the basket is full. | Error: Basket is full | +| | | `remove(String product)` | Item is in basket and can be removed. | true | +| | | | Item is not in basket and can not be removed. | false, Error: Item does not exist | +| | `int maxCapacity` | `changeCapacity(int newCapacity)` | If newCapacity is more than 0. | true | +| | | | If newCapacity is less than 1. | false | + From 9cd54ad2371d66159a306395425aae312081729f Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 14:02:53 +0200 Subject: [PATCH 02/21] Add add() test --- src/test/java/com/booleanuk/core/BasketTest.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index e35771b3..b64c01b6 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -3,6 +3,14 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import java.util.ArrayList; + class BasketTest { + // User story 1. + @Test + public void add() { + Basket basket = new Basket(); + basket.add("Unicorn Bagel"); + } } From f831ef788ce7fa23a4c783cc0881cb9d7c689cc7 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 14:06:59 +0200 Subject: [PATCH 03/21] Update add() 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 b64c01b6..ab6d0663 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -11,6 +11,6 @@ class BasketTest { @Test public void add() { Basket basket = new Basket(); - basket.add("Unicorn Bagel"); + Assertions.assertTrue(basket.add("Unicorn Bagel")); } } From 6b83a9eed5edc42b531ebda9c0f1ad6d308c3a08 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 14:17:48 +0200 Subject: [PATCH 04/21] Add initial code --- src/main/java/com/booleanuk/core/Basket.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index df7a20aa..cb986a37 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -1,5 +1,14 @@ package com.booleanuk.core; +import java.util.ArrayList; +import java.util.HashMap; + public class Basket { + // TODO: Difference between ArrayList and simple List?? + HashMap> products = new HashMap<>(); + int maxCapacity = 3; + public boolean add(String product) { + return false; + } } From b265ccd2c096cd314abf461623372045ddf191a6 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 14:24:40 +0200 Subject: [PATCH 05/21] Remove code / move code to test --- src/main/java/com/booleanuk/core/Basket.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index cb986a37..4e7558e8 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -1,12 +1,7 @@ package com.booleanuk.core; -import java.util.ArrayList; -import java.util.HashMap; public class Basket { - // TODO: Difference between ArrayList and simple List?? - HashMap> products = new HashMap<>(); - int maxCapacity = 3; public boolean add(String product) { return false; From 1a479e72e8805a7cff4751452bd5e695065082d9 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 14:33:17 +0200 Subject: [PATCH 06/21] Update Domain table --- src/main/java/com/booleanuk/core/Domain.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Domain.md b/src/main/java/com/booleanuk/core/Domain.md index db6ba549..7e6e4db8 100644 --- a/src/main/java/com/booleanuk/core/Domain.md +++ b/src/main/java/com/booleanuk/core/Domain.md @@ -1,10 +1,10 @@ -| Classes | Variables | Methods | Scenario | Outcome | -|----------|-------------------------------------------|-----------------------------------|-----------------------------------------------|-----------------------------------| -| `Basket` | `HashMap> products` | `add(String product)` | Item succesfully added. | true | -| | | | Item could not be added. | false | -| | | | If the basket is full. | Error: Basket is full | -| | | `remove(String product)` | Item is in basket and can be removed. | true | -| | | | Item is not in basket and can not be removed. | false, Error: Item does not exist | -| | `int maxCapacity` | `changeCapacity(int newCapacity)` | If newCapacity is more than 0. | true | -| | | | If newCapacity is less than 1. | false | +| Classes | Variables | Methods | Scenario | Outcome | +|--------------------------------|-------------------------------------------|-----------------------------------|-----------------------------------------------|-----------------------------------| +| `Basket(HashMap, maxCapacity)` | `HashMap> products` | `add(String product)` | Item succesfully added. | true | +| | | | Item could not be added. | false | +| | | | If the basket is full. | Error: Basket is full | +| | | `remove(String product)` | Item is in basket and can be removed. | true | +| | | | Item is not in basket and can not be removed. | false, Error: Item does not exist | +| | `int maxCapacity` | `changeCapacity(int newCapacity)` | If newCapacity is more than 0. | true | +| | | | If newCapacity is less than 1. | false | From a336360cdea9843a4d25b86db117d99c28aa0380 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 14:52:06 +0200 Subject: [PATCH 07/21] Update test --- 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 ab6d0663..2085deda 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -4,6 +4,7 @@ import org.junit.jupiter.api.Test; import java.util.ArrayList; +import java.util.HashMap; class BasketTest { @@ -11,6 +12,10 @@ class BasketTest { @Test public void add() { Basket basket = new Basket(); + + // Return true if sucessfully added Assertions.assertTrue(basket.add("Unicorn Bagel")); + // Product has been added to list + Assertions.assertEquals(1, basket.products.size()); } } From 17bbfad84b7a33c2fa139eeec2d7457ad2704fa3 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 14:52:28 +0200 Subject: [PATCH 08/21] Update code --- src/main/java/com/booleanuk/core/Basket.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 4e7558e8..c523f27e 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -1,9 +1,26 @@ package com.booleanuk.core; +import java.util.ArrayList; +import java.util.HashMap; + public class Basket { + // TODO: Difference between ArrayList and simple List?? + // TODO: Should this be private? + HashMap> products; + int maxCapacity; + + public Basket() { + this.products = new HashMap<>(); + this.maxCapacity = 3; + } public boolean add(String product) { - return false; + // Check if max capacity + if (products.size() >= maxCapacity) { + System.out.println("Basket is full, can't add more items."); + return false; + } + return true; } } From 356f423878c33bd531524d59ae683f25589f5041 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 15:09:49 +0200 Subject: [PATCH 09/21] Update code --- src/main/java/com/booleanuk/core/Basket.java | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index c523f27e..e0cd2611 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -2,6 +2,7 @@ import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; public class Basket { @@ -21,6 +22,26 @@ public boolean add(String product) { System.out.println("Basket is full, can't add more items."); return false; } + + // List properties + ArrayList details = new ArrayList<>(); + int numOfProducts; + int price = 0; // TODO: Placehlder value + + // Update numOfProducts if already exist, otherwise just add + if (products.containsKey(product)) { + int previousNumOfProducts = products.get(product).get(0); // Index 0 is numOfProduct, Index 1 is price + numOfProducts = previousNumOfProducts++; + } else { + numOfProducts = 1; + } + + // Add product details + details.add(numOfProducts); + details.add(price); + + // Add product + products.put(product, details); return true; } } From 39a65beea18b9598d6c5cfa65fe33e66effba0a0 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 15:21:03 +0200 Subject: [PATCH 10/21] Add test for checking multiple products of same type --- src/test/java/com/booleanuk/core/BasketTest.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 2085deda..aa876423 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -12,10 +12,16 @@ class BasketTest { @Test public void add() { Basket basket = new Basket(); - - // Return true if sucessfully added Assertions.assertTrue(basket.add("Unicorn Bagel")); - // Product has been added to list Assertions.assertEquals(1, basket.products.size()); + + basket.add("Unicorn Bagel"); + Assertions.assertEquals(2, basket.products.get("Unicorn Bagel").get(0)); // Index 0 is numOfProducts } + +// @Test +// public void remove() { +// Basket basket = new Basket(); +// +// } } From 67b1321f2dec8762cf3e1ddb1d00f60699e75403 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 15:26:28 +0200 Subject: [PATCH 11/21] Update code --- 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 e0cd2611..6c361be8 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -31,7 +31,7 @@ public boolean add(String product) { // Update numOfProducts if already exist, otherwise just add if (products.containsKey(product)) { int previousNumOfProducts = products.get(product).get(0); // Index 0 is numOfProduct, Index 1 is price - numOfProducts = previousNumOfProducts++; + numOfProducts = previousNumOfProducts += 1; } else { numOfProducts = 1; } From 6211ef9d33e23db923e797c98daf7fd3b19015c8 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 15:32:42 +0200 Subject: [PATCH 12/21] Add/update test for max capacity --- src/test/java/com/booleanuk/core/BasketTest.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index aa876423..70fd4e04 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -13,10 +13,13 @@ class BasketTest { public void add() { Basket basket = new Basket(); Assertions.assertTrue(basket.add("Unicorn Bagel")); - Assertions.assertEquals(1, basket.products.size()); + Assertions.assertEquals(1, basket.size); basket.add("Unicorn Bagel"); Assertions.assertEquals(2, basket.products.get("Unicorn Bagel").get(0)); // Index 0 is numOfProducts + + basket.add("Sunhaven Bagel"); + Assertions.assertFalse(basket.add("Moon Bagel")); // Exceed maxCapacity } // @Test From b7cb75e9400f03308263dc4673715f6920605d37 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 15:33:08 +0200 Subject: [PATCH 13/21] Update code --- src/main/java/com/booleanuk/core/Basket.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 6c361be8..93efaa90 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -10,6 +10,7 @@ public class Basket { // TODO: Should this be private? HashMap> products; int maxCapacity; + int size = 0; public Basket() { this.products = new HashMap<>(); @@ -18,7 +19,7 @@ public Basket() { public boolean add(String product) { // Check if max capacity - if (products.size() >= maxCapacity) { + if (this.size >= maxCapacity) { System.out.println("Basket is full, can't add more items."); return false; } @@ -42,6 +43,10 @@ public boolean add(String product) { // Add product products.put(product, details); + + // Update size + size++; + return true; } } From 31fd41a0769e160bd80219fd4cdbf890b681a391 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 15:52:18 +0200 Subject: [PATCH 14/21] Add test for remove product --- .../java/com/booleanuk/core/BasketTest.java | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 70fd4e04..1c6c5130 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -22,9 +22,21 @@ public void add() { Assertions.assertFalse(basket.add("Moon Bagel")); // Exceed maxCapacity } -// @Test -// public void remove() { -// Basket basket = new Basket(); -// -// } + @Test + public void remove() { + Basket basket = new Basket(); + basket.add("Small Bagel"); + basket.add("Small Bagel"); + + // Remove first item, 1 left + Assertions.assertTrue(basket.remove("Small Bagel")); + Assertions.assertEquals(1, basket.products.get("Small Bagel").get(0)); + + // Remove second item, 0 left (should be removed from list) + Assertions.assertTrue(basket.remove("Small Bagel")); + Assertions.assertFalse(basket.products.containsKey("Small Bagel")); + + // Remove not existing item + Assertions.assertFalse(basket.remove("Small Bagel")); + } } From 42ffda740d25e5ca284a2cbda5b891128c9fdcbd Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 16:09:36 +0200 Subject: [PATCH 15/21] Change HasMap to just take instead of > --- src/main/java/com/booleanuk/core/Domain.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Domain.md b/src/main/java/com/booleanuk/core/Domain.md index 7e6e4db8..f4c2c47a 100644 --- a/src/main/java/com/booleanuk/core/Domain.md +++ b/src/main/java/com/booleanuk/core/Domain.md @@ -1,10 +1,10 @@ -| Classes | Variables | Methods | Scenario | Outcome | -|--------------------------------|-------------------------------------------|-----------------------------------|-----------------------------------------------|-----------------------------------| -| `Basket(HashMap, maxCapacity)` | `HashMap> products` | `add(String product)` | Item succesfully added. | true | -| | | | Item could not be added. | false | -| | | | If the basket is full. | Error: Basket is full | -| | | `remove(String product)` | Item is in basket and can be removed. | true | -| | | | Item is not in basket and can not be removed. | false, Error: Item does not exist | -| | `int maxCapacity` | `changeCapacity(int newCapacity)` | If newCapacity is more than 0. | true | -| | | | If newCapacity is less than 1. | false | +| Classes | Variables | Methods | Scenario | Outcome | +|--------------------------------|---------------------------------------|-----------------------------------|-----------------------------------------------|-----------------------------------| +| `Basket(HashMap, maxCapacity)` | `HashMap products` | `add(String product)` | Item succesfully added. | true | +| | | | Item could not be added. | false | +| | | | If the basket is full. | Error: Basket is full | +| | | `remove(String product)` | Item is in basket and can be removed. | true | +| | | | Item is not in basket and can not be removed. | false, Error: Item does not exist | +| | `int maxCapacity` | `changeCapacity(int newCapacity)` | If newCapacity is more than 0. | true | +| | | | If newCapacity is less than 1. | false | From 994ffc1290b5d2dff0f9e9f63097b7ca21bebfea Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 16:29:53 +0200 Subject: [PATCH 16/21] Change code and test according to structure change for HashMap --- src/main/java/com/booleanuk/core/Basket.java | 33 ++++++++++++------- .../java/com/booleanuk/core/BasketTest.java | 4 +-- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 93efaa90..baf3c9f9 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 { // TODO: Difference between ArrayList and simple List?? // TODO: Should this be private? - HashMap> products; + HashMap products; int maxCapacity; int size = 0; @@ -17,7 +17,7 @@ public Basket() { this.maxCapacity = 3; } - public boolean add(String product) { + public boolean add(String productName) { // Check if max capacity if (this.size >= maxCapacity) { System.out.println("Basket is full, can't add more items."); @@ -25,28 +25,37 @@ public boolean add(String product) { } // List properties - ArrayList details = new ArrayList<>(); int numOfProducts; - int price = 0; // TODO: Placehlder value // Update numOfProducts if already exist, otherwise just add - if (products.containsKey(product)) { - int previousNumOfProducts = products.get(product).get(0); // Index 0 is numOfProduct, Index 1 is price - numOfProducts = previousNumOfProducts += 1; + if (products.containsKey(productName)) { + numOfProducts = products.get(productName) + 1; } else { numOfProducts = 1; } - // Add product details - details.add(numOfProducts); - details.add(price); - // Add product - products.put(product, details); + products.put(productName, numOfProducts); // Update size size++; return true; } + + public boolean remove(String productName) { + + // Check if product does not exist + if (!this.products.containsKey(productName)) { + System.out.println("Product does not exist. Can't remove."); + return false; + } + + // Update quantity if already in list + this.products.put(productName, this.products.get(productName) + 1); + + size--; + + return true; + } } diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 1c6c5130..9e499c35 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -16,7 +16,7 @@ public void add() { Assertions.assertEquals(1, basket.size); basket.add("Unicorn Bagel"); - Assertions.assertEquals(2, basket.products.get("Unicorn Bagel").get(0)); // Index 0 is numOfProducts + Assertions.assertEquals(2, basket.products.get("Unicorn Bagel")); // Index 0 is numOfProducts basket.add("Sunhaven Bagel"); Assertions.assertFalse(basket.add("Moon Bagel")); // Exceed maxCapacity @@ -30,7 +30,7 @@ public void remove() { // Remove first item, 1 left Assertions.assertTrue(basket.remove("Small Bagel")); - Assertions.assertEquals(1, basket.products.get("Small Bagel").get(0)); + Assertions.assertEquals(1, basket.products.get("Small Bagel")); // Remove second item, 0 left (should be removed from list) Assertions.assertTrue(basket.remove("Small Bagel")); From 0211f6b661ee4d34fe5499d76dd57512fa5dae36 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 16:36:04 +0200 Subject: [PATCH 17/21] Update code for remove test --- 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 baf3c9f9..3caeb640 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -51,9 +51,15 @@ public boolean remove(String productName) { return false; } - // Update quantity if already in list - this.products.put(productName, this.products.get(productName) + 1); + // Update quantity if already in list, remove if it is the last product in this type/category + int newNumOfProducts = this.products.get(productName) - 1; + if (newNumOfProducts == 0) { + this.products.remove(productName); + } else { + this.products.put(productName, newNumOfProducts); + } + // Update size size--; return true; From 041d50c05a39cca4b0ea2793d32b4c13858c4c7a Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 16:44:43 +0200 Subject: [PATCH 18/21] Add test for changeCapacity --- src/test/java/com/booleanuk/core/BasketTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 9e499c35..2a85783c 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -39,4 +39,17 @@ public void remove() { // Remove not existing item Assertions.assertFalse(basket.remove("Small Bagel")); } + + @Test + public void changeCapacity() { + Basket basket = new Basket(); + + // Change to valid max capacity + Assertions.assertTrue(basket.changeCapacity(5)); + Assertions.assertEquals(5, basket.maxCapacity); + + // Change to invalid max capacity + Assertions.assertFalse(basket.changeCapacity(0)); + Assertions.assertFalse(basket.changeCapacity(-1)); + } } From 0f34626dcd214e3f501b1def197e65cbd24ef491 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 16:48:38 +0200 Subject: [PATCH 19/21] Update code to pass test --- src/main/java/com/booleanuk/core/Basket.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index 3caeb640..2aedc3de 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -1,8 +1,6 @@ package com.booleanuk.core; -import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; public class Basket { @@ -64,4 +62,13 @@ public boolean remove(String productName) { return true; } + + public boolean changeCapacity(int newMaxCapacity) { + if (newMaxCapacity < 1) { + System.out.println("Invalid max capacity. Can't be less than 1"); + return false; + } + this.maxCapacity = newMaxCapacity; + return true; + } } From 2437a46f3215895fc6ff0b9a3e8d370f2af1ad85 Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 16:52:09 +0200 Subject: [PATCH 20/21] Change comment --- 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 2aedc3de..899e592d 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 { // TODO: Difference between ArrayList and simple List?? - // TODO: Should this be private? + // TODO: Should this be private variables? HashMap products; int maxCapacity; int size = 0; From 80df54aedc50083a432e8f294fdbc8e5a359de7d Mon Sep 17 00:00:00 2001 From: shyye Date: Wed, 14 Aug 2024 21:44:55 +0200 Subject: [PATCH 21/21] Fix Domain table to match updated code --- src/main/java/com/booleanuk/core/Domain.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Domain.md b/src/main/java/com/booleanuk/core/Domain.md index f4c2c47a..d0a2b75d 100644 --- a/src/main/java/com/booleanuk/core/Domain.md +++ b/src/main/java/com/booleanuk/core/Domain.md @@ -1,9 +1,8 @@ | Classes | Variables | Methods | Scenario | Outcome | |--------------------------------|---------------------------------------|-----------------------------------|-----------------------------------------------|-----------------------------------| -| `Basket(HashMap, maxCapacity)` | `HashMap products` | `add(String product)` | Item succesfully added. | true | -| | | | Item could not be added. | false | -| | | | If the basket is full. | Error: Basket is full | -| | | `remove(String product)` | Item is in basket and can be removed. | true | +| `Basket` | `HashMap products` | `add(String productName)` | Item succesfully added. | true | +| | | | Basket is full. Item could not be added. | false, Error: Basket is full | +| | | `remove(String productName)` | Item is in basket and can be removed. | true | | | | | Item is not in basket and can not be removed. | false, Error: Item does not exist | | | `int maxCapacity` | `changeCapacity(int newCapacity)` | If newCapacity is more than 0. | true | | | | | If newCapacity is less than 1. | false |