From 28bc57a7a39a1d83dff0eeeaef321649c4c67638 Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:12:53 +0200 Subject: [PATCH 01/20] I missed that i should commit for every test when i did the testCreateBasket but i will do it from this point forward, hope thats alright. --- DOMAIN_MODEL.md | 9 +++++++ src/main/java/com/booleanuk/core/Basket.java | 24 ++++++++++++++++++ .../java/com/booleanuk/core/BasketTest.java | 25 +++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 DOMAIN_MODEL.md diff --git a/DOMAIN_MODEL.md b/DOMAIN_MODEL.md new file mode 100644 index 00000000..68758816 --- /dev/null +++ b/DOMAIN_MODEL.md @@ -0,0 +1,9 @@ +| Classes | Variables | Methods | Scenario | Outcome | +|----------|----------------------------|-----------------------------|-----------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------| +| 'Basket' | 'ArrayList basket' | 'addBagel(String type)' | Add bagel to not full basket. | Return 'true' | +| | | | Tried to add bagel to full basket. | Return 'false' and print "Basket is full" | +| | | 'removeBagel(String type)' | Remove bagel when bagel with 'type' exists and basket is not empty | Return 'true' | +| | | | Tried to remove bagel with 'type' that do not exist in basket | Return 'false' and print "No such bagel exists in your basket" | +| | | | Tried to remove bagel from empty basket | Return 'false' and print "Basket is empty" | +| | 'int capacity' | 'setCapacity(int capacity)' | Tried to set the basket capacity to a number smaller than the number of bagels the basket is currently holding. | Return 'false' and print "Basket contains to many bagels. Please empty the basket first" | +| | | | Set the capacity to a non-problematic number | Return 'true' | diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index df7a20aa..0af771ac 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -1,5 +1,29 @@ package com.booleanuk.core; +import java.util.ArrayList; + public class Basket { + public int capacity; + public ArrayList basket; + + public Basket(int capacity) { + basket = new ArrayList<>(); + if (capacity > 0) { + this.capacity = capacity; + } else { + this.capacity = 1; + } + } + + public boolean addBagel(String type){ + return true; + } + + public boolean removeBagel(String type) { + return true; + } + public boolean setCapacity(int capacity) { + return true; + } } diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index e35771b3..62336d9f 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -3,6 +3,31 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + class BasketTest { + @Test + public void testCreateBasket() { + Basket basket1 = new Basket(1); + Basket basketM1 = new Basket(-1); + Basket basket5 = new Basket(5); + + assertEquals(1, basket1.capacity); + assertEquals(1, basketM1.capacity); + assertEquals(5, basket5.capacity); + } + + @Test + public void testAddToBasket() { + Basket basket = new Basket(2); + + boolean b1 = basket.addBagel("1"); + boolean b2 = basket.addBagel("2"); + boolean b3 = basket.addBagel("3"); + + assertTrue(b1); + assertTrue(b2); + assertFalse(b3); + } } From 74e962eed19118b06ca3d298ba59c4e6ea44fab5 Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:16:20 +0200 Subject: [PATCH 02/20] Passing tests for addBagel() --- 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 0af771ac..26ef03f9 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -16,7 +16,12 @@ public Basket(int capacity) { } public boolean addBagel(String type){ - return true; + if (basket.size() < this.capacity) { + basket.add(type); + return true; + } + System.out.println("Basket is full"); + return false; } public boolean removeBagel(String type) { From 4460ddf7f6108c954d0927b40f0c82bf94577a41 Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:19:13 +0200 Subject: [PATCH 03/20] started testRemoveFromBasket --- src/test/java/com/booleanuk/core/BasketTest.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 62336d9f..c94aebe7 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -30,4 +30,14 @@ public void testAddToBasket() { assertTrue(b2); assertFalse(b3); } + + + @Test + public void testRemoveFromBasket() { + Basket basket = new Basket(2); + + boolean b1 = basket.removeBagel("1"); + + assertFalse(b1); + } } From c645630c7c51f9e5b7d9f907d8878ee5e9d99fcf Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:20:43 +0200 Subject: [PATCH 04/20] continuing testRemoveFromBasket --- 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 26ef03f9..b9c33440 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -25,6 +25,10 @@ public boolean addBagel(String type){ } public boolean removeBagel(String type) { + if (basket.isEmpty()) { + System.out.println("Basket is empty"); + return false; + } return true; } From e8f64d74f0dce3431cedd3225975b49d26b5bd94 Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:24:42 +0200 Subject: [PATCH 05/20] continuing testRemoveFromBasket --- src/test/java/com/booleanuk/core/BasketTest.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index c94aebe7..854da6fd 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -37,7 +37,13 @@ public void testRemoveFromBasket() { Basket basket = new Basket(2); boolean b1 = basket.removeBagel("1"); - assertFalse(b1); + + basket.addBagel("1"); + boolean b2 = basket.removeBagel("1"); + boolean b3 = basket.removeBagel("1"); + + assertTrue(b2); + assertFalse(b3); } } From ab70cd81b8df4d617a3d316c894a492cfa50ac50 Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:30:14 +0200 Subject: [PATCH 06/20] continuing testRemoveFromBasket --- src/main/java/com/booleanuk/core/Basket.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index b9c33440..ed00eabe 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -28,6 +28,14 @@ public boolean removeBagel(String type) { if (basket.isEmpty()) { System.out.println("Basket is empty"); return false; + } else if (basket.contains(type)) { + // Remove only one of type if multiple exists + for (int i = 0; i < basket.size(); i++) { + if (basket.get(i).equals(type)) { + basket.remove(i); + return true; + } + } } return true; } From 49e1397f9db9fdba5189bd2dccfcfbf314787d4c Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:30:20 +0200 Subject: [PATCH 07/20] continuing testRemoveFromBasket --- 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 854da6fd..df32e786 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -45,5 +45,9 @@ public void testRemoveFromBasket() { assertTrue(b2); assertFalse(b3); + + basket.addBagel("1"); + boolean b4 = basket.removeBagel("2"); + assertFalse(b4); } } From 29e6caa10d085b1cf772b910087e6facd3886242 Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:31:34 +0200 Subject: [PATCH 08/20] completed testRemoveFromBasket, for now --- src/main/java/com/booleanuk/core/Basket.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index ed00eabe..eb26b27d 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -37,7 +37,8 @@ public boolean removeBagel(String type) { } } } - return true; + System.out.println("No such bagel exists in your basket"); + return false; } public boolean setCapacity(int capacity) { From aa50962d6fa4be77137f0cf147987efad2330e3c Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:37:45 +0200 Subject: [PATCH 09/20] started testSetCapacity --- src/test/java/com/booleanuk/core/BasketTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index df32e786..2f00dcf8 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -50,4 +50,11 @@ public void testRemoveFromBasket() { boolean b4 = basket.removeBagel("2"); assertFalse(b4); } + + @Test + public void testSetCapacity() { + Basket basket = new Basket(2); + basket.setCapacity(3); + assertEquals(3, basket.capacity); + } } From d8523c4e2d0a5a29709d3a2ad34311232b45db64 Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:39:40 +0200 Subject: [PATCH 10/20] continue testSetCapacity --- src/main/java/com/booleanuk/core/Basket.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Basket.java b/src/main/java/com/booleanuk/core/Basket.java index eb26b27d..9ff35b00 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 { public ArrayList basket; public Basket(int capacity) { - basket = new ArrayList<>(); + this.basket = new ArrayList<>(); if (capacity > 0) { this.capacity = capacity; } else { @@ -16,8 +16,8 @@ public Basket(int capacity) { } public boolean addBagel(String type){ - if (basket.size() < this.capacity) { - basket.add(type); + if (this.basket.size() < this.capacity) { + this.basket.add(type); return true; } System.out.println("Basket is full"); @@ -25,14 +25,14 @@ public boolean addBagel(String type){ } public boolean removeBagel(String type) { - if (basket.isEmpty()) { + if (this.basket.isEmpty()) { System.out.println("Basket is empty"); return false; - } else if (basket.contains(type)) { + } else if (this.basket.contains(type)) { // Remove only one of type if multiple exists - for (int i = 0; i < basket.size(); i++) { - if (basket.get(i).equals(type)) { - basket.remove(i); + for (int i = 0; i < this.basket.size(); i++) { + if (this.basket.get(i).equals(type)) { + this.basket.remove(i); return true; } } @@ -42,6 +42,7 @@ public boolean removeBagel(String type) { } public boolean setCapacity(int capacity) { + this.capacity = capacity; return true; } } From 24fdb3e51641e857dc3d50f4f35a8d1f8ef93a88 Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:42:33 +0200 Subject: [PATCH 11/20] continue testSetCapacity --- DOMAIN_MODEL.md | 1 + src/test/java/com/booleanuk/core/BasketTest.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/DOMAIN_MODEL.md b/DOMAIN_MODEL.md index 68758816..3477cb85 100644 --- a/DOMAIN_MODEL.md +++ b/DOMAIN_MODEL.md @@ -7,3 +7,4 @@ | | | | Tried to remove bagel from empty basket | Return 'false' and print "Basket is empty" | | | 'int capacity' | 'setCapacity(int capacity)' | Tried to set the basket capacity to a number smaller than the number of bagels the basket is currently holding. | Return 'false' and print "Basket contains to many bagels. Please empty the basket first" | | | | | Set the capacity to a non-problematic number | Return 'true' | +| | | | Set capacity to a non-positive number. | Return 'false' and print "Capacity must be a positive number" | diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 2f00dcf8..b3aaeac2 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -56,5 +56,8 @@ public void testSetCapacity() { Basket basket = new Basket(2); basket.setCapacity(3); assertEquals(3, basket.capacity); + + boolean b1 = basket.setCapacity(-1); + assertFalse(b1); } } From 23a4b41d01fe98816c18fe7266282b5bb38575ac Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:44:15 +0200 Subject: [PATCH 12/20] continue testSetCapacity --- 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 9ff35b00..65fa99f8 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -42,6 +42,10 @@ public boolean removeBagel(String type) { } public boolean setCapacity(int capacity) { + if (capacity < 1) { + System.out.println("Capacity must be a positive number"); + return false; + } this.capacity = capacity; return true; } From 0062a7a0ccc987f4997e33783d05402d80d0b75d Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:46:21 +0200 Subject: [PATCH 13/20] continue testSetCapacity --- 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 b3aaeac2..940d3d21 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -59,5 +59,10 @@ public void testSetCapacity() { boolean b1 = basket.setCapacity(-1); assertFalse(b1); + + basket.addBagel("1"); + basket.addBagel("2"); + boolean b2 = basket.setCapacity(1); + assertFalse(b2); } } From 9cfc063a3fba5234dcf0fcae9a8a74817dec2e04 Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:48:22 +0200 Subject: [PATCH 14/20] continue testSetCapacity --- 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 65fa99f8..a722bbcc 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -45,6 +45,9 @@ public boolean setCapacity(int capacity) { if (capacity < 1) { System.out.println("Capacity must be a positive number"); return false; + } else if (capacity < basket.size()) { + System.out.println("Basket contains to many bagels. Please empty the basket first"); + return false; } this.capacity = capacity; return true; From ba69f26ab5b2f75d2f288980cc229730f8569ddf Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 12:54:19 +0200 Subject: [PATCH 15/20] More removeBagel tests --- src/test/java/com/booleanuk/core/BasketTest.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 940d3d21..13613063 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -1,6 +1,5 @@ package com.booleanuk.core; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; @@ -49,6 +48,13 @@ public void testRemoveFromBasket() { basket.addBagel("1"); boolean b4 = basket.removeBagel("2"); assertFalse(b4); + + basket.addBagel("1"); + basket.addBagel("1"); + boolean b5 = basket.removeBagel("1"); + boolean b6 = basket.removeBagel("1"); + assertTrue(b5); + assertTrue(b6); } @Test From 29a1580e16c39d16e99b1a3a258b1394dea5b42a Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 13:05:34 +0200 Subject: [PATCH 16/20] Adding requirement to be Bob to tests --- DOMAIN_MODEL.md | 21 ++++++++++--------- .../java/com/booleanuk/core/BasketTest.java | 6 +++--- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/DOMAIN_MODEL.md b/DOMAIN_MODEL.md index 3477cb85..031e3e5a 100644 --- a/DOMAIN_MODEL.md +++ b/DOMAIN_MODEL.md @@ -1,10 +1,11 @@ -| Classes | Variables | Methods | Scenario | Outcome | -|----------|----------------------------|-----------------------------|-----------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------| -| 'Basket' | 'ArrayList basket' | 'addBagel(String type)' | Add bagel to not full basket. | Return 'true' | -| | | | Tried to add bagel to full basket. | Return 'false' and print "Basket is full" | -| | | 'removeBagel(String type)' | Remove bagel when bagel with 'type' exists and basket is not empty | Return 'true' | -| | | | Tried to remove bagel with 'type' that do not exist in basket | Return 'false' and print "No such bagel exists in your basket" | -| | | | Tried to remove bagel from empty basket | Return 'false' and print "Basket is empty" | -| | 'int capacity' | 'setCapacity(int capacity)' | Tried to set the basket capacity to a number smaller than the number of bagels the basket is currently holding. | Return 'false' and print "Basket contains to many bagels. Please empty the basket first" | -| | | | Set the capacity to a non-problematic number | Return 'true' | -| | | | Set capacity to a non-positive number. | Return 'false' and print "Capacity must be a positive number" | +| Classes | Variables | Methods | Scenario | Outcome | +|----------|----------------------------|------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------| +| 'Basket' | 'ArrayList basket' | 'addBagel(String type)' | Add bagel to not full basket. | Return 'true' | +| | | | Tried to add bagel to full basket. | Return 'false' and print "Basket is full" | +| | | 'removeBagel(String type)' | Remove bagel when bagel with 'type' exists and basket is not empty | Return 'true' | +| | | | Tried to remove bagel with 'type' that do not exist in basket | Return 'false' and print "No such bagel exists in your basket" | +| | | | Tried to remove bagel from empty basket | Return 'false' and print "Basket is empty" | +| | 'int capacity' | 'setCapacity(int capacity, boolean isManager)' | Tried to set the basket capacity to a number smaller than the number of bagels the basket is currently holding. | Return 'false' and print "Basket contains to many bagels. Please empty the basket first" | +| | | | Set the capacity to a non-problematic number | Return 'true' | +| | | | Set capacity to a non-positive number. | Return 'false' and print "Capacity must be a positive number" | +| | | | Tried to set capacity without being Bob | Return 'false' and print "You're not Bob" | diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index 13613063..e19fb093 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -60,15 +60,15 @@ public void testRemoveFromBasket() { @Test public void testSetCapacity() { Basket basket = new Basket(2); - basket.setCapacity(3); + basket.setCapacity(3, true); assertEquals(3, basket.capacity); - boolean b1 = basket.setCapacity(-1); + boolean b1 = basket.setCapacity(-1, true); assertFalse(b1); basket.addBagel("1"); basket.addBagel("2"); - boolean b2 = basket.setCapacity(1); + boolean b2 = basket.setCapacity(1, true); assertFalse(b2); } } From 89fd5aea3d776aff5aef1ad80a43548c5ed817e4 Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 13:06:33 +0200 Subject: [PATCH 17/20] Adding requirement to be Bob to tests, passing --- 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 a722bbcc..56c8e3ff 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -41,7 +41,7 @@ public boolean removeBagel(String type) { return false; } - public boolean setCapacity(int capacity) { + public boolean setCapacity(int capacity, boolean isBob) { if (capacity < 1) { System.out.println("Capacity must be a positive number"); return false; From 75f5dd596cd0431c07b86d7065c03e6b67695bc5 Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 13:08:10 +0200 Subject: [PATCH 18/20] Adding requirement to be Bob to tests, failing --- src/test/java/com/booleanuk/core/BasketTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index e19fb093..cee98f22 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -70,5 +70,8 @@ public void testSetCapacity() { basket.addBagel("2"); boolean b2 = basket.setCapacity(1, true); assertFalse(b2); + + boolean b3 = basket.setCapacity(5, false); + assertFalse(b3); } } From 05e81afba0c698cad14eb6bdc48eaa3f2f237228 Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 13:09:54 +0200 Subject: [PATCH 19/20] Adding requirement to be Bob to tests. You now need to be Bob --- 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 56c8e3ff..151cd8d9 100644 --- a/src/main/java/com/booleanuk/core/Basket.java +++ b/src/main/java/com/booleanuk/core/Basket.java @@ -42,6 +42,10 @@ public boolean removeBagel(String type) { } public boolean setCapacity(int capacity, boolean isBob) { + if (!isBob) { + System.out.println("You're not Bob"); + return false; + } if (capacity < 1) { System.out.println("Capacity must be a positive number"); return false; From 4ee046d4626ceb5588f597f74ccc193bc48cfc69 Mon Sep 17 00:00:00 2001 From: Oliver Andersson Date: Wed, 14 Aug 2024 13:15:24 +0200 Subject: [PATCH 20/20] Comments on tests --- src/test/java/com/booleanuk/core/BasketTest.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BasketTest.java b/src/test/java/com/booleanuk/core/BasketTest.java index cee98f22..83b0357b 100644 --- a/src/test/java/com/booleanuk/core/BasketTest.java +++ b/src/test/java/com/booleanuk/core/BasketTest.java @@ -8,6 +8,7 @@ class BasketTest { @Test public void testCreateBasket() { + // Test so that you can only initiate a basket with a positive number. Basket basket1 = new Basket(1); Basket basketM1 = new Basket(-1); Basket basket5 = new Basket(5); @@ -19,6 +20,7 @@ public void testCreateBasket() { @Test public void testAddToBasket() { + // Test if you can add more bagels to basket than the capacity Basket basket = new Basket(2); boolean b1 = basket.addBagel("1"); @@ -35,9 +37,11 @@ public void testAddToBasket() { public void testRemoveFromBasket() { Basket basket = new Basket(2); + // Test removal from empty basket boolean b1 = basket.removeBagel("1"); assertFalse(b1); + // Test removal of the same bagel twice basket.addBagel("1"); boolean b2 = basket.removeBagel("1"); boolean b3 = basket.removeBagel("1"); @@ -45,10 +49,12 @@ public void testRemoveFromBasket() { assertTrue(b2); assertFalse(b3); + // Test removal of non-existent bagel basket.addBagel("1"); boolean b4 = basket.removeBagel("2"); assertFalse(b4); + // Test that only one bagel is removed at a time basket.addBagel("1"); basket.addBagel("1"); boolean b5 = basket.removeBagel("1"); @@ -59,18 +65,22 @@ public void testRemoveFromBasket() { @Test public void testSetCapacity() { + // Test that capacity changes Basket basket = new Basket(2); basket.setCapacity(3, true); assertEquals(3, basket.capacity); + // Test that capacity needs to be positive boolean b1 = basket.setCapacity(-1, true); assertFalse(b1); + // Test that capacity cant be lower than the current amount of bagels in basket basket.addBagel("1"); basket.addBagel("2"); boolean b2 = basket.setCapacity(1, true); assertFalse(b2); + // Test that you need to be Bob boolean b3 = basket.setCapacity(5, false); assertFalse(b3); }