From 25d099afb8cb8e839d0324770504861decb50777 Mon Sep 17 00:00:00 2001 From: Siromanec <91615647+Siromanec@users.noreply.github.com> Date: Sun, 16 Oct 2022 13:44:25 +0300 Subject: [PATCH 01/24] Create linter.yml --- .github/workflows/linter.yml | 51 ++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/linter.yml diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml new file mode 100644 index 00000000..7892b8c2 --- /dev/null +++ b/.github/workflows/linter.yml @@ -0,0 +1,51 @@ +--- +################################# +################################# +## Super Linter GitHub Actions ## +################################# +################################# +name: Lint Code Base + +############################# +# Start the job on all push # +############################# +on: + push: + branches-ignore: [master, main] + # Remove the line above to run when pushing to master + pull_request: + branches: [master, main] + +############### +# Set the Job # +############### +jobs: + build: + # Name the Job + name: Lint Code Base + # Set the agent to run on + runs-on: ubuntu-latest + + ################## + # Load all steps # + ################## + steps: + ########################## + # Checkout the code base # + ########################## + - name: Checkout Code + uses: actions/checkout@v3 + with: + # Full git history is needed to get a proper + # list of changed files within `super-linter` + fetch-depth: 0 + + ################################ + # Run Linter against code base # + ################################ + - name: Lint Code Base + uses: github/super-linter@v4 + env: + VALIDATE_ALL_CODEBASE: false + DEFAULT_BRANCH: master + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 872b3297a3f590e99a546f216531fae57f39d0a1 Mon Sep 17 00:00:00 2001 From: Siromanec Date: Sun, 16 Oct 2022 14:14:43 +0300 Subject: [PATCH 02/24] added some flower, started working on flowerbucket --- src/main/java/flower/store/FlowerBucket.java | 2 ++ src/main/java/flower/store/Store.java | 2 ++ .../java/flower/store/flowers/Chamomile.java | 2 ++ src/main/java/flower/store/flowers/Rose.java | 2 ++ src/main/java/flower/store/flowers/Tulip.java | 2 ++ .../java/flower/store/FlowerBucketTest.java | 31 +++++++++++++++++++ 6 files changed, 41 insertions(+) create mode 100644 src/main/java/flower/store/FlowerBucket.java create mode 100644 src/main/java/flower/store/Store.java create mode 100644 src/main/java/flower/store/flowers/Chamomile.java create mode 100644 src/main/java/flower/store/flowers/Rose.java create mode 100644 src/main/java/flower/store/flowers/Tulip.java create mode 100644 src/test/java/flower/store/FlowerBucketTest.java diff --git a/src/main/java/flower/store/FlowerBucket.java b/src/main/java/flower/store/FlowerBucket.java new file mode 100644 index 00000000..7d78b398 --- /dev/null +++ b/src/main/java/flower/store/FlowerBucket.java @@ -0,0 +1,2 @@ +package flower.store;public class FlowerBucket { +} diff --git a/src/main/java/flower/store/Store.java b/src/main/java/flower/store/Store.java new file mode 100644 index 00000000..4a34d871 --- /dev/null +++ b/src/main/java/flower/store/Store.java @@ -0,0 +1,2 @@ +package flower.store;public class Store { +} diff --git a/src/main/java/flower/store/flowers/Chamomile.java b/src/main/java/flower/store/flowers/Chamomile.java new file mode 100644 index 00000000..1e3304b7 --- /dev/null +++ b/src/main/java/flower/store/flowers/Chamomile.java @@ -0,0 +1,2 @@ +package flower.store.flowers;public class Chamomile { +} diff --git a/src/main/java/flower/store/flowers/Rose.java b/src/main/java/flower/store/flowers/Rose.java new file mode 100644 index 00000000..7b26b1bf --- /dev/null +++ b/src/main/java/flower/store/flowers/Rose.java @@ -0,0 +1,2 @@ +package flower.store.flowers;public class Rose { +} diff --git a/src/main/java/flower/store/flowers/Tulip.java b/src/main/java/flower/store/flowers/Tulip.java new file mode 100644 index 00000000..69797efe --- /dev/null +++ b/src/main/java/flower/store/flowers/Tulip.java @@ -0,0 +1,2 @@ +package flower.store.flowers;public class Tulip { +} diff --git a/src/test/java/flower/store/FlowerBucketTest.java b/src/test/java/flower/store/FlowerBucketTest.java new file mode 100644 index 00000000..ad12bb46 --- /dev/null +++ b/src/test/java/flower/store/FlowerBucketTest.java @@ -0,0 +1,31 @@ +package flower.store; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.Assertions; + +import java.util.Random; + +public class FlowerBucketTest { + private static final Random RANDOM_GENERATOR = new Random(); + private static final int MAX_QUANTITY = 1000; + private static final int MAX_PRICE = 100; + + private FlowerBucket flowerBucket; + + @BeforeEach + public void init() { + flowerBucket = new FlowerBucket(); + } + + @Test + public void testPrice() { + int price = RANDOM_GENERATOR.nextInt(MAX_PRICE); + int quantity = RANDOM_GENERATOR.nextInt(MAX_QUANTITY); + Flower flower = new Rose(); + flower.setPrice(10); + FlowerPack flowerPack = new FlowerPack(flower, quantity); + flowerBucket.add(flowerPack); + Assertions.assertEquals(price * quantity, flowerBucket.getPrice()); + } +} From 0b33f4c97eeb43cad338ba498429081a7d899bc6 Mon Sep 17 00:00:00 2001 From: Siromanec Date: Sun, 16 Oct 2022 14:16:07 +0300 Subject: [PATCH 03/24] added some flower, started working on flowerbucket --- src/main/java/flower/store/FlowerBucket.java | 4 +++- src/main/java/flower/store/FlowerPack.java | 3 +++ src/main/java/flower/store/Store.java | 4 +++- src/main/java/flower/store/flowers/Chamomile.java | 6 +++++- src/main/java/flower/store/flowers/Rose.java | 11 ++++++++++- src/main/java/flower/store/flowers/Tulip.java | 7 ++++++- src/test/java/flower/store/FlowerBucketTest.java | 1 + 7 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/main/java/flower/store/FlowerBucket.java b/src/main/java/flower/store/FlowerBucket.java index 7d78b398..106536e9 100644 --- a/src/main/java/flower/store/FlowerBucket.java +++ b/src/main/java/flower/store/FlowerBucket.java @@ -1,2 +1,4 @@ -package flower.store;public class FlowerBucket { +package flower.store; + +public class FlowerBucket { } diff --git a/src/main/java/flower/store/FlowerPack.java b/src/main/java/flower/store/FlowerPack.java index 44c99495..74ae555c 100644 --- a/src/main/java/flower/store/FlowerPack.java +++ b/src/main/java/flower/store/FlowerPack.java @@ -3,4 +3,7 @@ public class FlowerPack { private Flower flower; private int quantity; + public int getPrice(){ + return 0; + } } diff --git a/src/main/java/flower/store/Store.java b/src/main/java/flower/store/Store.java index 4a34d871..95266bed 100644 --- a/src/main/java/flower/store/Store.java +++ b/src/main/java/flower/store/Store.java @@ -1,2 +1,4 @@ -package flower.store;public class Store { +package flower.store; + +public class Store { } diff --git a/src/main/java/flower/store/flowers/Chamomile.java b/src/main/java/flower/store/flowers/Chamomile.java index 1e3304b7..ba616f76 100644 --- a/src/main/java/flower/store/flowers/Chamomile.java +++ b/src/main/java/flower/store/flowers/Chamomile.java @@ -1,2 +1,6 @@ -package flower.store.flowers;public class Chamomile { +package flower.store.flowers; + +import flower.store.Flower; + +public class Chamomile extends Flower { } diff --git a/src/main/java/flower/store/flowers/Rose.java b/src/main/java/flower/store/flowers/Rose.java index 7b26b1bf..23636c02 100644 --- a/src/main/java/flower/store/flowers/Rose.java +++ b/src/main/java/flower/store/flowers/Rose.java @@ -1,2 +1,11 @@ -package flower.store.flowers;public class Rose { +package flower.store.flowers; + +import flower.store.Flower; +import flower.store.FlowerColor; + +public class Rose extends Flower { + public Rose(){ + super(); + setColor(FlowerColor.RED); + } } diff --git a/src/main/java/flower/store/flowers/Tulip.java b/src/main/java/flower/store/flowers/Tulip.java index 69797efe..d4bb7dc6 100644 --- a/src/main/java/flower/store/flowers/Tulip.java +++ b/src/main/java/flower/store/flowers/Tulip.java @@ -1,2 +1,7 @@ -package flower.store.flowers;public class Tulip { +package flower.store.flowers; + +import flower.store.Flower; + +public class Tulip extends Flower { + } diff --git a/src/test/java/flower/store/FlowerBucketTest.java b/src/test/java/flower/store/FlowerBucketTest.java index ad12bb46..ed1eec9a 100644 --- a/src/test/java/flower/store/FlowerBucketTest.java +++ b/src/test/java/flower/store/FlowerBucketTest.java @@ -1,5 +1,6 @@ package flower.store; +import flower.store.flowers.Rose; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Assertions; From 0b6d3794d2d4f613331fd94856329cecfa0fe7f7 Mon Sep 17 00:00:00 2001 From: Siromanec Date: Sun, 16 Oct 2022 14:35:20 +0300 Subject: [PATCH 04/24] write bucket --- src/main/java/flower/store/FlowerBucket.java | 13 ++++++++++++- src/main/java/flower/store/FlowerPack.java | 10 +++++++--- src/test/java/flower/store/FlowerPackTest.java | 4 ++++ 3 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 src/test/java/flower/store/FlowerPackTest.java diff --git a/src/main/java/flower/store/FlowerBucket.java b/src/main/java/flower/store/FlowerBucket.java index 106536e9..4d1007c0 100644 --- a/src/main/java/flower/store/FlowerBucket.java +++ b/src/main/java/flower/store/FlowerBucket.java @@ -1,4 +1,15 @@ package flower.store; -public class FlowerBucket { +import lombok.Getter; + +public class FlowerBucket{ + @Getter + private int price = 0; + + public FlowerBucket(){ + + } + public void add(FlowerPack fp){ + price += fp.getPrice(); + } } diff --git a/src/main/java/flower/store/FlowerPack.java b/src/main/java/flower/store/FlowerPack.java index 74ae555c..16428268 100644 --- a/src/main/java/flower/store/FlowerPack.java +++ b/src/main/java/flower/store/FlowerPack.java @@ -1,9 +1,13 @@ package flower.store; public class FlowerPack { - private Flower flower; - private int quantity; + private final Flower flower; + private final int quantity; public int getPrice(){ - return 0; + return (int)flower.getPrice()*quantity; + } + public FlowerPack(T flower, int quantity){ + this.flower = flower; + this.quantity = quantity; } } diff --git a/src/test/java/flower/store/FlowerPackTest.java b/src/test/java/flower/store/FlowerPackTest.java new file mode 100644 index 00000000..62439146 --- /dev/null +++ b/src/test/java/flower/store/FlowerPackTest.java @@ -0,0 +1,4 @@ +package flower.store; + +public class FlowerPackTest { +} From 52a23eb6332fa7f2ef484d93f3c45d9ec64a0dc3 Mon Sep 17 00:00:00 2001 From: Siromanec Date: Sun, 16 Oct 2022 14:44:20 +0300 Subject: [PATCH 05/24] fix tests --- src/test/java/flower/store/FlowerBucketTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/flower/store/FlowerBucketTest.java b/src/test/java/flower/store/FlowerBucketTest.java index ed1eec9a..356dea06 100644 --- a/src/test/java/flower/store/FlowerBucketTest.java +++ b/src/test/java/flower/store/FlowerBucketTest.java @@ -24,7 +24,7 @@ public void testPrice() { int price = RANDOM_GENERATOR.nextInt(MAX_PRICE); int quantity = RANDOM_GENERATOR.nextInt(MAX_QUANTITY); Flower flower = new Rose(); - flower.setPrice(10); + flower.setPrice(price); FlowerPack flowerPack = new FlowerPack(flower, quantity); flowerBucket.add(flowerPack); Assertions.assertEquals(price * quantity, flowerBucket.getPrice()); From 023e75ac891fc8f51bb060be587dacf6b5cedcd5 Mon Sep 17 00:00:00 2001 From: Siromanec <91615647+Siromanec@users.noreply.github.com> Date: Sun, 16 Oct 2022 14:50:49 +0300 Subject: [PATCH 06/24] Create README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..3ca8454f --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# FlowerStore +Rightfully acquiered from @dobosevych + +# Best-selling flowers. Ever. From 1597f8d0bf512feff79102f0ec997127f1bf4da0 Mon Sep 17 00:00:00 2001 From: Siromanec <91615647+Siromanec@users.noreply.github.com> Date: Sun, 23 Oct 2022 13:35:20 +0300 Subject: [PATCH 07/24] Update ci.yaml --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cd4c1302..f1b5642a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -2,9 +2,9 @@ name: Java CI on: push: - branches: [master, main] + branches: [master, main, flower-bucket] pull_request: - branches: [master, main] + branches: [master, main, flower-bucket] jobs: build: From 1ad268d96c400e27d4e202d1a88c45a2489827f6 Mon Sep 17 00:00:00 2001 From: Siromanec Date: Sun, 23 Oct 2022 14:00:23 +0300 Subject: [PATCH 08/24] fix tests --- src/main/java/flower/store/FlowerBucket.java | 7 +++---- src/main/java/flower/store/FlowerPack.java | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/java/flower/store/FlowerBucket.java b/src/main/java/flower/store/FlowerBucket.java index 4d1007c0..f69c483b 100644 --- a/src/main/java/flower/store/FlowerBucket.java +++ b/src/main/java/flower/store/FlowerBucket.java @@ -2,14 +2,13 @@ import lombok.Getter; -public class FlowerBucket{ +public class FlowerBucket { @Getter private int price = 0; - - public FlowerBucket(){ + public FlowerBucket() { } - public void add(FlowerPack fp){ + public void add(FlowerPack fp) { price += fp.getPrice(); } } diff --git a/src/main/java/flower/store/FlowerPack.java b/src/main/java/flower/store/FlowerPack.java index 16428268..c1e0751b 100644 --- a/src/main/java/flower/store/FlowerPack.java +++ b/src/main/java/flower/store/FlowerPack.java @@ -3,10 +3,10 @@ public class FlowerPack { private final Flower flower; private final int quantity; - public int getPrice(){ + public int getPrice() { return (int)flower.getPrice()*quantity; } - public FlowerPack(T flower, int quantity){ + public FlowerPack(T flower, int quantity) { this.flower = flower; this.quantity = quantity; } From d3fc3362df712d7a8d5abdd0c024af27e4eb04ef Mon Sep 17 00:00:00 2001 From: Siromanec <91615647+Siromanec@users.noreply.github.com> Date: Sun, 23 Oct 2022 14:01:00 +0300 Subject: [PATCH 09/24] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ca8454f..46f20fa9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ # FlowerStore Rightfully acquiered from @dobosevych -# Best-selling flowers. Ever. +# Best-selling flowers. Ever From 13002f630f3ca728bd8af8080b36d8b7ccb9116c Mon Sep 17 00:00:00 2001 From: Siromanec <91615647+Siromanec@users.noreply.github.com> Date: Sun, 23 Oct 2022 19:04:23 +0300 Subject: [PATCH 10/24] Update ci.yaml --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f1b5642a..cd4c1302 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -2,9 +2,9 @@ name: Java CI on: push: - branches: [master, main, flower-bucket] + branches: [master, main] pull_request: - branches: [master, main, flower-bucket] + branches: [master, main] jobs: build: From b73807c700cd1f5c3e3c36f7e7667318572df519 Mon Sep 17 00:00:00 2001 From: Siromanec Date: Fri, 11 Nov 2022 19:21:30 +0200 Subject: [PATCH 11/24] fix this burning hellhole --- src/main/java/flower/store/Flower.java | 21 ---------- src/main/java/flower/store/FlowerBucket.java | 14 ------- .../java/flower/store/FlowerInventory.java | 39 +++++++++++++++++++ src/main/java/flower/store/FlowerStore.java | 28 +++++++++++++ src/main/java/flower/store/FlowerType.java | 5 --- src/main/java/flower/store/Store.java | 4 -- .../flower/store/bucket/FlowerBucket.java | 32 +++++++++++++++ .../flower/store/bucket/FlowerBucketSpec.java | 23 +++++++++++ src/main/java/flower/store/flower/Flower.java | 32 +++++++++++++++ .../store/{ => flower}/FlowerColor.java | 6 ++- .../flower/store/flower/FlowerFactory.java | 13 +++++++ .../java/flower/store/flower/FlowerSpec.java | 30 ++++++++++++++ .../java/flower/store/flower/FlowerType.java | 5 +++ .../store/{ => flowerPack}/FlowerPack.java | 13 +++++-- .../store/flowerPack/FlowerPackInventory.java | 21 ++++++++++ .../java/flower/store/flowers/Chamomile.java | 9 ++++- src/main/java/flower/store/flowers/Rose.java | 6 ++- src/main/java/flower/store/flowers/Tulip.java | 10 ++++- .../java/flower/store/FlowerBucketTest.java | 3 ++ src/test/java/flower/store/FlowerTest.java | 2 + 20 files changed, 262 insertions(+), 54 deletions(-) delete mode 100644 src/main/java/flower/store/Flower.java delete mode 100644 src/main/java/flower/store/FlowerBucket.java create mode 100644 src/main/java/flower/store/FlowerInventory.java create mode 100644 src/main/java/flower/store/FlowerStore.java delete mode 100644 src/main/java/flower/store/FlowerType.java delete mode 100644 src/main/java/flower/store/Store.java create mode 100644 src/main/java/flower/store/bucket/FlowerBucket.java create mode 100644 src/main/java/flower/store/bucket/FlowerBucketSpec.java create mode 100644 src/main/java/flower/store/flower/Flower.java rename src/main/java/flower/store/{ => flower}/FlowerColor.java (71%) create mode 100644 src/main/java/flower/store/flower/FlowerFactory.java create mode 100644 src/main/java/flower/store/flower/FlowerSpec.java create mode 100644 src/main/java/flower/store/flower/FlowerType.java rename src/main/java/flower/store/{ => flowerPack}/FlowerPack.java (56%) create mode 100644 src/main/java/flower/store/flowerPack/FlowerPackInventory.java diff --git a/src/main/java/flower/store/Flower.java b/src/main/java/flower/store/Flower.java deleted file mode 100644 index 206ef870..00000000 --- a/src/main/java/flower/store/Flower.java +++ /dev/null @@ -1,21 +0,0 @@ -package flower.store; - -import lombok.Getter; -import lombok.Setter; - - - -@Setter -public class Flower { - @Getter - private double sepalLength; - private FlowerColor color; - @Getter - private double price; - @Getter - private FlowerType flowerType; - - public String getColor() { - return color.toString(); - } -} diff --git a/src/main/java/flower/store/FlowerBucket.java b/src/main/java/flower/store/FlowerBucket.java deleted file mode 100644 index f69c483b..00000000 --- a/src/main/java/flower/store/FlowerBucket.java +++ /dev/null @@ -1,14 +0,0 @@ -package flower.store; - -import lombok.Getter; - -public class FlowerBucket { - @Getter - private int price = 0; - public FlowerBucket() { - - } - public void add(FlowerPack fp) { - price += fp.getPrice(); - } -} diff --git a/src/main/java/flower/store/FlowerInventory.java b/src/main/java/flower/store/FlowerInventory.java new file mode 100644 index 00000000..437bcbfd --- /dev/null +++ b/src/main/java/flower/store/FlowerInventory.java @@ -0,0 +1,39 @@ +package flower.store; + +import flower.store.flower.Flower; +import flower.store.flower.FlowerColor; +import flower.store.flower.FlowerFactory; +import flower.store.flower.FlowerSpec; + +import java.util.ArrayList; + +import java.util.List; + + +public class FlowerInventory { + private final List inventory = new ArrayList<>(); + public FlowerInventory(){ + + Flower redFlower = FlowerFactory.createFlower(10, FlowerColor.RED, 0.5); + Flower blueFlower = FlowerFactory.createFlower(30, FlowerColor.BLUE, 2); + Flower whiteFlower = FlowerFactory.createFlower(100, FlowerColor.WHITE, 10); + + inventory.add(redFlower); + inventory.add(blueFlower); + inventory.add(whiteFlower); + + } + public List search(FlowerSpec searchSpec){ + List matchingFlowers = new ArrayList<>(); + for (Flower flower : inventory) { + FlowerSpec flowerSpec = flower.getSpec(); + if (searchSpec.getColor() != flowerSpec.getColor()) + continue; + if (searchSpec.getSepalLength() != flowerSpec.getSepalLength()) + continue; + matchingFlowers.add(flower); + } + return matchingFlowers; + } +} + diff --git a/src/main/java/flower/store/FlowerStore.java b/src/main/java/flower/store/FlowerStore.java new file mode 100644 index 00000000..cb1b6f48 --- /dev/null +++ b/src/main/java/flower/store/FlowerStore.java @@ -0,0 +1,28 @@ +package flower.store; + +import flower.store.flower.Flower; +import flower.store.flower.FlowerSpec; + +import java.util.List; +import java.util.Scanner; + +public class FlowerStore { + private static final FlowerInventory flowerInventory = new FlowerInventory(); + + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.print("Please, enter the color: "); + String color = sc.nextLine(); + System.out.print("Please, enter the sepalLength: "); + double sepalLength = sc.nextDouble(); + List matchingFlowers = search(color, sepalLength); + System.out.print("We found: " + + matchingFlowers.toString()); + } + public static List search(String color, double sepalLength){ + FlowerSpec searchSpec = new FlowerSpec(); + searchSpec.setSepalLength(sepalLength); + searchSpec.setColor(color); + return flowerInventory.search(searchSpec); + } +} diff --git a/src/main/java/flower/store/FlowerType.java b/src/main/java/flower/store/FlowerType.java deleted file mode 100644 index ac22e2fd..00000000 --- a/src/main/java/flower/store/FlowerType.java +++ /dev/null @@ -1,5 +0,0 @@ -package flower.store; - -public enum FlowerType { - CHAMOMILE, ROSE, TULIP; -} diff --git a/src/main/java/flower/store/Store.java b/src/main/java/flower/store/Store.java deleted file mode 100644 index 95266bed..00000000 --- a/src/main/java/flower/store/Store.java +++ /dev/null @@ -1,4 +0,0 @@ -package flower.store; - -public class Store { -} diff --git a/src/main/java/flower/store/bucket/FlowerBucket.java b/src/main/java/flower/store/bucket/FlowerBucket.java new file mode 100644 index 00000000..f85daf51 --- /dev/null +++ b/src/main/java/flower/store/bucket/FlowerBucket.java @@ -0,0 +1,32 @@ +package flower.store.bucket; + +import flower.store.flowerPack.FlowerPack; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +public class FlowerBucket { + @Getter + private int price = 0; + + private final List flowerPacks = new ArrayList<>(); + public FlowerBucket() { + + } + + public void add(FlowerPack fp) { + flowerPacks.add(fp); + price += fp.getPrice(); + } + @Override + public String toString(){ + String res = ""; + for (FlowerPack fp : + flowerPacks) { + res = + res.concat(fp.toString()); + } + return res; + } +} diff --git a/src/main/java/flower/store/bucket/FlowerBucketSpec.java b/src/main/java/flower/store/bucket/FlowerBucketSpec.java new file mode 100644 index 00000000..d6de8fd2 --- /dev/null +++ b/src/main/java/flower/store/bucket/FlowerBucketSpec.java @@ -0,0 +1,23 @@ +package flower.store.bucket; + +import flower.store.flower.Flower; +import flower.store.flowerPack.FlowerPack; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +public class FlowerBucketSpec { + @Getter + private final List flowers = new ArrayList<>(); + public int getSize() { + return flowers.size(); + } + public boolean contains(Flower flower){ + return flowers.contains(flower); + } + public void add(FlowerPack fp) { + flowers.add(fp.getFlower()); + } + +} diff --git a/src/main/java/flower/store/flower/Flower.java b/src/main/java/flower/store/flower/Flower.java new file mode 100644 index 00000000..a2404198 --- /dev/null +++ b/src/main/java/flower/store/flower/Flower.java @@ -0,0 +1,32 @@ +package flower.store.flower; + +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + + +@Getter @Setter @ToString +public class Flower { + private FlowerSpec spec = new FlowerSpec(); + + public double getSepalLength(){ + return spec.getSepalLength(); + } + public void setSepalLength(double sepalLength){ + spec.setSepalLength(sepalLength); + } + + public void setColor(FlowerColor color){ + spec.setColor(color); + } + public String getColor() { + return spec.getColor().toString(); + } + + private double price; + + private FlowerType flowerType; + + + +} diff --git a/src/main/java/flower/store/FlowerColor.java b/src/main/java/flower/store/flower/FlowerColor.java similarity index 71% rename from src/main/java/flower/store/FlowerColor.java rename to src/main/java/flower/store/flower/FlowerColor.java index 4a6221f7..6d1dee7a 100644 --- a/src/main/java/flower/store/FlowerColor.java +++ b/src/main/java/flower/store/flower/FlowerColor.java @@ -1,10 +1,12 @@ -package flower.store; +package flower.store.flower; public enum FlowerColor { /** * Flower colors. */ - RED("#FF0000"), BLUE("#0000FF"); + RED("red"),//("#FF0000"), + BLUE("blue"),//("#0000FF"), + WHITE("white");//("#000000"); private final String stringRepresentation; FlowerColor(String stringRepresentation) { diff --git a/src/main/java/flower/store/flower/FlowerFactory.java b/src/main/java/flower/store/flower/FlowerFactory.java new file mode 100644 index 00000000..3d6d459f --- /dev/null +++ b/src/main/java/flower/store/flower/FlowerFactory.java @@ -0,0 +1,13 @@ +package flower.store.flower; + +public class FlowerFactory { + public static Flower createFlower(int price, + FlowerColor color, + double sepalLength){ + Flower flower = new Flower(); + flower.setPrice(price); + flower.setColor(color); + flower.setSepalLength(sepalLength); + return flower; + } +} diff --git a/src/main/java/flower/store/flower/FlowerSpec.java b/src/main/java/flower/store/flower/FlowerSpec.java new file mode 100644 index 00000000..baf5c1b4 --- /dev/null +++ b/src/main/java/flower/store/flower/FlowerSpec.java @@ -0,0 +1,30 @@ +package flower.store.flower; + +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + + +@Getter @Setter @ToString +public class FlowerSpec { + + public FlowerColor getColor() { + return color; + } + + public void setColor(FlowerColor color) { + this.color = color; + } + public void setColor(String color) { + if (color.equalsIgnoreCase("red")) + this.color = FlowerColor.RED; + else if (color.equalsIgnoreCase("blue")) + this.color = FlowerColor.BLUE; + else if (color.equalsIgnoreCase("white")) + this.color = FlowerColor.WHITE; + } + + private FlowerColor color; + private double sepalLength; + +} diff --git a/src/main/java/flower/store/flower/FlowerType.java b/src/main/java/flower/store/flower/FlowerType.java new file mode 100644 index 00000000..45e28fa7 --- /dev/null +++ b/src/main/java/flower/store/flower/FlowerType.java @@ -0,0 +1,5 @@ +package flower.store.flower; + +public enum FlowerType { + CHAMOMILE, ROSE, TULIP +} diff --git a/src/main/java/flower/store/FlowerPack.java b/src/main/java/flower/store/flowerPack/FlowerPack.java similarity index 56% rename from src/main/java/flower/store/FlowerPack.java rename to src/main/java/flower/store/flowerPack/FlowerPack.java index c1e0751b..595c5735 100644 --- a/src/main/java/flower/store/FlowerPack.java +++ b/src/main/java/flower/store/flowerPack/FlowerPack.java @@ -1,8 +1,14 @@ -package flower.store; +package flower.store.flowerPack; +import flower.store.flower.Flower; +import lombok.Getter; +import lombok.Setter; + +@Getter @Setter public class FlowerPack { - private final Flower flower; - private final int quantity; + + protected final Flower flower; + protected int quantity; public int getPrice() { return (int)flower.getPrice()*quantity; } @@ -10,4 +16,5 @@ public FlowerPack(T flower, int quantity) { this.flower = flower; this.quantity = quantity; } + } diff --git a/src/main/java/flower/store/flowerPack/FlowerPackInventory.java b/src/main/java/flower/store/flowerPack/FlowerPackInventory.java new file mode 100644 index 00000000..0e9f9bfd --- /dev/null +++ b/src/main/java/flower/store/flowerPack/FlowerPackInventory.java @@ -0,0 +1,21 @@ +package flower.store.flowerPack; + +import flower.store.flower.Flower; + + +public class FlowerPackInventory extends FlowerPack { + public FlowerPackInventory(T flower, int quantity) { + super(flower, quantity); + } + public FlowerPack splitFLowerPack(int newPackSize){ + if (newPackSize<=quantity){ + quantity -= newPackSize; + return new FlowerPack(flower,newPackSize); + } + return null; + + } + public void addFLowers(int amount){ + quantity += amount; + } +} diff --git a/src/main/java/flower/store/flowers/Chamomile.java b/src/main/java/flower/store/flowers/Chamomile.java index ba616f76..29337c91 100644 --- a/src/main/java/flower/store/flowers/Chamomile.java +++ b/src/main/java/flower/store/flowers/Chamomile.java @@ -1,6 +1,13 @@ package flower.store.flowers; -import flower.store.Flower; +import flower.store.flower.Flower; +import flower.store.flower.FlowerColor; +import flower.store.flower.FlowerType; public class Chamomile extends Flower { + public Chamomile(){ + super(); + setColor(FlowerColor.WHITE); + setFlowerType(FlowerType.CHAMOMILE); + } } diff --git a/src/main/java/flower/store/flowers/Rose.java b/src/main/java/flower/store/flowers/Rose.java index 23636c02..661def18 100644 --- a/src/main/java/flower/store/flowers/Rose.java +++ b/src/main/java/flower/store/flowers/Rose.java @@ -1,11 +1,13 @@ package flower.store.flowers; -import flower.store.Flower; -import flower.store.FlowerColor; +import flower.store.flower.Flower; +import flower.store.flower.FlowerColor; +import flower.store.flower.FlowerType; public class Rose extends Flower { public Rose(){ super(); setColor(FlowerColor.RED); + setFlowerType(FlowerType.ROSE); } } diff --git a/src/main/java/flower/store/flowers/Tulip.java b/src/main/java/flower/store/flowers/Tulip.java index d4bb7dc6..a394040f 100644 --- a/src/main/java/flower/store/flowers/Tulip.java +++ b/src/main/java/flower/store/flowers/Tulip.java @@ -1,7 +1,13 @@ package flower.store.flowers; -import flower.store.Flower; +import flower.store.flower.Flower; +import flower.store.flower.FlowerColor; +import flower.store.flower.FlowerType; public class Tulip extends Flower { - + public Tulip(){ + super(); + setColor(FlowerColor.RED); + setFlowerType(FlowerType.TULIP); + } } diff --git a/src/test/java/flower/store/FlowerBucketTest.java b/src/test/java/flower/store/FlowerBucketTest.java index 356dea06..240e14bb 100644 --- a/src/test/java/flower/store/FlowerBucketTest.java +++ b/src/test/java/flower/store/FlowerBucketTest.java @@ -1,5 +1,8 @@ package flower.store; +import flower.store.bucket.FlowerBucket; +import flower.store.flower.Flower; +import flower.store.flowerPack.FlowerPack; import flower.store.flowers.Rose; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/flower/store/FlowerTest.java b/src/test/java/flower/store/FlowerTest.java index 79151913..211eba69 100644 --- a/src/test/java/flower/store/FlowerTest.java +++ b/src/test/java/flower/store/FlowerTest.java @@ -1,5 +1,7 @@ package flower.store; +import flower.store.flower.Flower; +import flower.store.flower.FlowerColor; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; From 7de50ed54d718eca9af3857f84b8952f328e4748 Mon Sep 17 00:00:00 2001 From: Siromanec <91615647+Siromanec@users.noreply.github.com> Date: Fri, 11 Nov 2022 23:00:12 +0200 Subject: [PATCH 12/24] Update checkstyle.xml --- .github/linters/checkstyle.xml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/linters/checkstyle.xml b/.github/linters/checkstyle.xml index e26ff27b..6b7e49b4 100644 --- a/.github/linters/checkstyle.xml +++ b/.github/linters/checkstyle.xml @@ -74,7 +74,10 @@ - + + + + @@ -303,4 +306,4 @@ - \ No newline at end of file + From f78f768195e3ce6f6e239a7c213044a9476da1e0 Mon Sep 17 00:00:00 2001 From: Siromanec Date: Fri, 11 Nov 2022 23:00:45 +0200 Subject: [PATCH 13/24] docs --- .../java/flower/store/FlowerInventory.java | 39 +++++++++++++---- src/main/java/flower/store/FlowerStore.java | 32 ++++++++++++-- .../flower/store/bucket/FlowerBucket.java | 32 ++++++++++---- .../flower/store/bucket/FlowerBucketSpec.java | 23 ---------- .../flower/store/bucket/package-info.java | 4 ++ src/main/java/flower/store/flower/Flower.java | 43 +++++++++++++++---- .../java/flower/store/flower/FlowerColor.java | 20 ++++++++- .../flower/store/flower/FlowerFactory.java | 20 +++++++-- .../java/flower/store/flower/FlowerSpec.java | 30 +++++++++---- .../java/flower/store/flower/FlowerType.java | 34 ++++++++++++++- .../flower/store/flower/package-info.java | 4 ++ .../flower/store/flowerPack/FlowerPack.java | 26 ++++++++--- .../store/flowerPack/FlowerPackInventory.java | 29 ++++++++++--- .../flower/store/flowerPack/package-info.java | 4 ++ .../java/flower/store/flowers/Chamomile.java | 6 +++ src/main/java/flower/store/flowers/Rose.java | 6 +++ src/main/java/flower/store/flowers/Tulip.java | 6 +++ .../flower/store/flowers/package-info.java | 4 ++ src/main/java/flower/store/package-info.java | 3 ++ .../java/flower/store/FlowerBucketTest.java | 12 ++++++ .../java/flower/store/FlowerPackTest.java | 4 ++ src/test/java/flower/store/FlowerTest.java | 13 ++++++ 22 files changed, 319 insertions(+), 75 deletions(-) delete mode 100644 src/main/java/flower/store/bucket/FlowerBucketSpec.java create mode 100644 src/main/java/flower/store/bucket/package-info.java create mode 100644 src/main/java/flower/store/flower/package-info.java create mode 100644 src/main/java/flower/store/flowerPack/package-info.java create mode 100644 src/main/java/flower/store/flowers/package-info.java create mode 100644 src/main/java/flower/store/package-info.java diff --git a/src/main/java/flower/store/FlowerInventory.java b/src/main/java/flower/store/FlowerInventory.java index 437bcbfd..a91204ac 100644 --- a/src/main/java/flower/store/FlowerInventory.java +++ b/src/main/java/flower/store/FlowerInventory.java @@ -9,28 +9,51 @@ import java.util.List; - +/** + * flower inventory. here we store our flowers + */ public class FlowerInventory { private final List inventory = new ArrayList<>(); - public FlowerInventory(){ - Flower redFlower = FlowerFactory.createFlower(10, FlowerColor.RED, 0.5); - Flower blueFlower = FlowerFactory.createFlower(30, FlowerColor.BLUE, 2); - Flower whiteFlower = FlowerFactory.createFlower(100, FlowerColor.WHITE, 10); + /** + * constructor for flower inventory + * currently has only three flowers + */ + public FlowerInventory() { + double rfp = 10; + double rsl = 0.5; + double bfp = 30; + double bsl = 2; + double wfp = 100; + double wsl = 10; + Flower redFlower = FlowerFactory + .createFlower(rfp, FlowerColor.RED, rsl); + Flower blueFlower = FlowerFactory + .createFlower(bfp, FlowerColor.BLUE, bsl); + Flower whiteFlower = FlowerFactory + .createFlower(wfp, FlowerColor.WHITE, wsl); inventory.add(redFlower); inventory.add(blueFlower); inventory.add(whiteFlower); } - public List search(FlowerSpec searchSpec){ + /** + * search tool to find flowers in the inventory + * @param searchSpec - is the specification for search + * @return a list of flowers which fit the specification + * */ + public List search(FlowerSpec searchSpec) { + List matchingFlowers = new ArrayList<>(); for (Flower flower : inventory) { FlowerSpec flowerSpec = flower.getSpec(); - if (searchSpec.getColor() != flowerSpec.getColor()) + if (searchSpec.getColor() != flowerSpec.getColor()) { continue; - if (searchSpec.getSepalLength() != flowerSpec.getSepalLength()) + } + if (searchSpec.getSepalLength() != flowerSpec.getSepalLength()) { continue; + } matchingFlowers.add(flower); } return matchingFlowers; diff --git a/src/main/java/flower/store/FlowerStore.java b/src/main/java/flower/store/FlowerStore.java index cb1b6f48..54b354e9 100644 --- a/src/main/java/flower/store/FlowerStore.java +++ b/src/main/java/flower/store/FlowerStore.java @@ -1,3 +1,4 @@ + package flower.store; import flower.store.flower.Flower; @@ -6,8 +7,23 @@ import java.util.List; import java.util.Scanner; +/** + * flower store class + * come and buy some! + */ + public class FlowerStore { - private static final FlowerInventory flowerInventory = new FlowerInventory(); + /** + * constructor + */ + private FlowerStore() {} + private static final + FlowerInventory flowerInventory = new FlowerInventory(); + + /** + * the main method + * @param args arguments + */ public static void main(String[] args) { Scanner sc = new Scanner(System.in); @@ -16,10 +32,18 @@ public static void main(String[] args) { System.out.print("Please, enter the sepalLength: "); double sepalLength = sc.nextDouble(); List matchingFlowers = search(color, sepalLength); - System.out.print("We found: " + - matchingFlowers.toString()); + System.out.print("We found: " + + matchingFlowers.toString()); } - public static List search(String color, double sepalLength){ + + /** + * searches for flowers in the inventory + * @param color the color of the flower + * @param sepalLength the sepalLength of the flower + * @return a list of all flowers + */ + public static List search(final String color, + final double sepalLength) { FlowerSpec searchSpec = new FlowerSpec(); searchSpec.setSepalLength(sepalLength); searchSpec.setColor(color); diff --git a/src/main/java/flower/store/bucket/FlowerBucket.java b/src/main/java/flower/store/bucket/FlowerBucket.java index f85daf51..bf521b69 100644 --- a/src/main/java/flower/store/bucket/FlowerBucket.java +++ b/src/main/java/flower/store/bucket/FlowerBucket.java @@ -1,3 +1,4 @@ + package flower.store.bucket; import flower.store.flowerPack.FlowerPack; @@ -5,27 +6,40 @@ import java.util.ArrayList; import java.util.List; +/** + * bucket + * */ public class FlowerBucket { + /** + * constructor + */ + public FlowerBucket() {} @Getter private int price = 0; private final List flowerPacks = new ArrayList<>(); - public FlowerBucket() { - - } - public void add(FlowerPack fp) { + /** + * adds flowerpacks to bucket + * @param fp flower pack + */ + public void add(final FlowerPack fp) { flowerPacks.add(fp); price += fp.getPrice(); } + + /** + * + * @return string representation of flower bucket + */ @Override - public String toString(){ + public String toString() { String res = ""; - for (FlowerPack fp : - flowerPacks) { - res = - res.concat(fp.toString()); + for (FlowerPack fp + : flowerPacks) { + res + = res.concat(fp.toString()); } return res; } diff --git a/src/main/java/flower/store/bucket/FlowerBucketSpec.java b/src/main/java/flower/store/bucket/FlowerBucketSpec.java deleted file mode 100644 index d6de8fd2..00000000 --- a/src/main/java/flower/store/bucket/FlowerBucketSpec.java +++ /dev/null @@ -1,23 +0,0 @@ -package flower.store.bucket; - -import flower.store.flower.Flower; -import flower.store.flowerPack.FlowerPack; -import lombok.Getter; - -import java.util.ArrayList; -import java.util.List; - -public class FlowerBucketSpec { - @Getter - private final List flowers = new ArrayList<>(); - public int getSize() { - return flowers.size(); - } - public boolean contains(Flower flower){ - return flowers.contains(flower); - } - public void add(FlowerPack fp) { - flowers.add(fp.getFlower()); - } - -} diff --git a/src/main/java/flower/store/bucket/package-info.java b/src/main/java/flower/store/bucket/package-info.java new file mode 100644 index 00000000..4155332b --- /dev/null +++ b/src/main/java/flower/store/bucket/package-info.java @@ -0,0 +1,4 @@ +/** + * bucket + * */ +package flower.store.bucket; \ No newline at end of file diff --git a/src/main/java/flower/store/flower/Flower.java b/src/main/java/flower/store/flower/Flower.java index a2404198..637052bf 100644 --- a/src/main/java/flower/store/flower/Flower.java +++ b/src/main/java/flower/store/flower/Flower.java @@ -4,29 +4,56 @@ import lombok.Setter; import lombok.ToString; +/** + * Flowers. We sell them + */ @Getter @Setter @ToString public class Flower { - private FlowerSpec spec = new FlowerSpec(); + private final FlowerSpec spec = new FlowerSpec(); - public double getSepalLength(){ + private double price; + + private FlowerType flowerType; + + /** + * constructor + */ + public Flower() {} + + /** + * getter for sepalLength + * @return sepalLength + */ + public double getSepalLength() { return spec.getSepalLength(); } - public void setSepalLength(double sepalLength){ + + /** + * setter for sepalLength + * @param sepalLength sepalLength + */ + public void setSepalLength(double sepalLength) { spec.setSepalLength(sepalLength); } - public void setColor(FlowerColor color){ + /** + * setter for color + * @param color flower color + */ + + public void setColor(FlowerColor color) { spec.setColor(color); } + + /** + * getter for color + * @return flower color + */ public String getColor() { return spec.getColor().toString(); } - private double price; - - private FlowerType flowerType; - } diff --git a/src/main/java/flower/store/flower/FlowerColor.java b/src/main/java/flower/store/flower/FlowerColor.java index 6d1dee7a..12743698 100644 --- a/src/main/java/flower/store/flower/FlowerColor.java +++ b/src/main/java/flower/store/flower/FlowerColor.java @@ -1,18 +1,36 @@ package flower.store.flower; +/** + * all possible flower colors + */ public enum FlowerColor { /** - * Flower colors. + * red */ RED("red"),//("#FF0000"), + /** + * blue + */ + BLUE("blue"),//("#0000FF"), + /** + * white + */ WHITE("white");//("#000000"); private final String stringRepresentation; + /** + * sets all enum values + * @param stringRepresentation string representation of the color + */ FlowerColor(String stringRepresentation) { this.stringRepresentation = stringRepresentation; } + /** + * to string + * @return stringRepresentation of the color + */ @Override public String toString() { return stringRepresentation; diff --git a/src/main/java/flower/store/flower/FlowerFactory.java b/src/main/java/flower/store/flower/FlowerFactory.java index 3d6d459f..71a769b9 100644 --- a/src/main/java/flower/store/flower/FlowerFactory.java +++ b/src/main/java/flower/store/flower/FlowerFactory.java @@ -1,9 +1,23 @@ package flower.store.flower; +/** + * flower factory + */ public class FlowerFactory { - public static Flower createFlower(int price, - FlowerColor color, - double sepalLength){ + /** + * constructor + */ + public FlowerFactory() {} + /** + * creates flowers + * @param price price of the flower + * @param color color of the flower + * @param sepalLength sepalLength of the flower + * @return a new flower + */ + public static Flower createFlower(final double price, + final FlowerColor color, + final double sepalLength) { Flower flower = new Flower(); flower.setPrice(price); flower.setColor(color); diff --git a/src/main/java/flower/store/flower/FlowerSpec.java b/src/main/java/flower/store/flower/FlowerSpec.java index baf5c1b4..e50acefe 100644 --- a/src/main/java/flower/store/flower/FlowerSpec.java +++ b/src/main/java/flower/store/flower/FlowerSpec.java @@ -4,24 +4,38 @@ import lombok.Setter; import lombok.ToString; +/** + * stores general data about a flower + */ @Getter @Setter @ToString public class FlowerSpec { - - public FlowerColor getColor() { - return color; - } - + /** + * constructor + */ + public FlowerSpec() {} + /** + * handles input + * @param color color of the flower + */ public void setColor(FlowerColor color) { this.color = color; } + + /** + * handles input + * @param color color of the flower + */ public void setColor(String color) { - if (color.equalsIgnoreCase("red")) + if (color.equalsIgnoreCase("red")) { this.color = FlowerColor.RED; - else if (color.equalsIgnoreCase("blue")) + } + else if (color.equalsIgnoreCase("blue")) { this.color = FlowerColor.BLUE; - else if (color.equalsIgnoreCase("white")) + } + else if (color.equalsIgnoreCase("white")) { this.color = FlowerColor.WHITE; + } } private FlowerColor color; diff --git a/src/main/java/flower/store/flower/FlowerType.java b/src/main/java/flower/store/flower/FlowerType.java index 45e28fa7..c74bcc88 100644 --- a/src/main/java/flower/store/flower/FlowerType.java +++ b/src/main/java/flower/store/flower/FlowerType.java @@ -1,5 +1,37 @@ package flower.store.flower; +/** + * lists all possible flowers + */ public enum FlowerType { - CHAMOMILE, ROSE, TULIP + /** + * chamomile + */ + CHAMOMILE("chamomile"), + /** + * rose + */ + ROSE("rose"), + /** + * tulip + */ + TULIP("tulip"); + private final String stringRepresentation; + + /** + * sets all enum values + * @param stringRepresentation string representation of the type + */ + FlowerType(String stringRepresentation) { + this.stringRepresentation = stringRepresentation; + } + + /** + * to string + * @return stringRepresentation of the type + */ + @Override + public String toString() { + return stringRepresentation; + } } diff --git a/src/main/java/flower/store/flower/package-info.java b/src/main/java/flower/store/flower/package-info.java new file mode 100644 index 00000000..27f1a4b5 --- /dev/null +++ b/src/main/java/flower/store/flower/package-info.java @@ -0,0 +1,4 @@ +/** + * all utilities for Flower + * */ +package flower.store.flower; \ No newline at end of file diff --git a/src/main/java/flower/store/flowerPack/FlowerPack.java b/src/main/java/flower/store/flowerPack/FlowerPack.java index 595c5735..1e5c6b2f 100644 --- a/src/main/java/flower/store/flowerPack/FlowerPack.java +++ b/src/main/java/flower/store/flowerPack/FlowerPack.java @@ -4,15 +4,31 @@ import lombok.Getter; import lombok.Setter; +/** + * flower pack + */ @Getter @Setter public class FlowerPack { - protected final Flower flower; - protected int quantity; - public int getPrice() { - return (int)flower.getPrice()*quantity; + private final Flower flower; + private int quantity; + + /** + * get price for all flowers in a pack + * @return the price of this amount of flowers + */ + + public double getPrice() { + return flower.getPrice() * quantity; } - public FlowerPack(T flower, int quantity) { + /** + * flowerpack constructor + * @param flower flower type the user wants to make a pack of + * @param quantity amount of the flowers in a pack + * @param is any subtype of Flower + */ + public FlowerPack(final T flower, + final int quantity) { this.flower = flower; this.quantity = quantity; } diff --git a/src/main/java/flower/store/flowerPack/FlowerPackInventory.java b/src/main/java/flower/store/flowerPack/FlowerPackInventory.java index 0e9f9bfd..a615718d 100644 --- a/src/main/java/flower/store/flowerPack/FlowerPackInventory.java +++ b/src/main/java/flower/store/flowerPack/FlowerPackInventory.java @@ -2,20 +2,39 @@ import flower.store.flower.Flower; - +/** + * Is used to group and manage flower packs + */ public class FlowerPackInventory extends FlowerPack { + /** + * flowerpack inventory constructor + * @param flower flower type the user wants to make a pack of + * @param quantity amount of the flowers in a pack + * @param is any subtype of Flower + */ public FlowerPackInventory(T flower, int quantity) { super(flower, quantity); } + + /** + * takes flowers from flower pack + * @param newPackSize the amount of flowers user wants to take away from the inventory + * @return a new flower pack inventory with given amount of flowers + */ public FlowerPack splitFLowerPack(int newPackSize){ - if (newPackSize<=quantity){ - quantity -= newPackSize; - return new FlowerPack(flower,newPackSize); + if (newPackSize<=getQuantity()){ + setQuantity(getQuantity()-newPackSize); + return new FlowerPack(getFlower(),newPackSize); } return null; } + + /** + * adds flowers to pack + * @param amount amount of flowers user wants to add to inventory + */ public void addFLowers(int amount){ - quantity += amount; + setQuantity(getQuantity()+amount); } } diff --git a/src/main/java/flower/store/flowerPack/package-info.java b/src/main/java/flower/store/flowerPack/package-info.java new file mode 100644 index 00000000..1ba4aea8 --- /dev/null +++ b/src/main/java/flower/store/flowerPack/package-info.java @@ -0,0 +1,4 @@ +/** + * flower pack stuff + */ +package flower.store.flowerPack; \ No newline at end of file diff --git a/src/main/java/flower/store/flowers/Chamomile.java b/src/main/java/flower/store/flowers/Chamomile.java index 29337c91..0dfee58b 100644 --- a/src/main/java/flower/store/flowers/Chamomile.java +++ b/src/main/java/flower/store/flowers/Chamomile.java @@ -4,7 +4,13 @@ import flower.store.flower.FlowerColor; import flower.store.flower.FlowerType; +/** + * the chamomile + */ public class Chamomile extends Flower { + /** + * creates a white chamomile + */ public Chamomile(){ super(); setColor(FlowerColor.WHITE); diff --git a/src/main/java/flower/store/flowers/Rose.java b/src/main/java/flower/store/flowers/Rose.java index 661def18..c2ffe0d8 100644 --- a/src/main/java/flower/store/flowers/Rose.java +++ b/src/main/java/flower/store/flowers/Rose.java @@ -4,7 +4,13 @@ import flower.store.flower.FlowerColor; import flower.store.flower.FlowerType; +/** + * the rose flower + */ public class Rose extends Flower { + /** + * creates a red rose + */ public Rose(){ super(); setColor(FlowerColor.RED); diff --git a/src/main/java/flower/store/flowers/Tulip.java b/src/main/java/flower/store/flowers/Tulip.java index a394040f..4cf6889a 100644 --- a/src/main/java/flower/store/flowers/Tulip.java +++ b/src/main/java/flower/store/flowers/Tulip.java @@ -4,7 +4,13 @@ import flower.store.flower.FlowerColor; import flower.store.flower.FlowerType; +/** + * A red pretty tulip + */ public class Tulip extends Flower { + /** + * creates a beautiful tulip + */ public Tulip(){ super(); setColor(FlowerColor.RED); diff --git a/src/main/java/flower/store/flowers/package-info.java b/src/main/java/flower/store/flowers/package-info.java new file mode 100644 index 00000000..1d6c6c38 --- /dev/null +++ b/src/main/java/flower/store/flowers/package-info.java @@ -0,0 +1,4 @@ +/** + * custom flowers + */ +package flower.store.flowers; \ No newline at end of file diff --git a/src/main/java/flower/store/package-info.java b/src/main/java/flower/store/package-info.java new file mode 100644 index 00000000..6ffea5e4 --- /dev/null +++ b/src/main/java/flower/store/package-info.java @@ -0,0 +1,3 @@ +/** + * the flower store*/ +package flower.store; \ No newline at end of file diff --git a/src/test/java/flower/store/FlowerBucketTest.java b/src/test/java/flower/store/FlowerBucketTest.java index 240e14bb..fec1c727 100644 --- a/src/test/java/flower/store/FlowerBucketTest.java +++ b/src/test/java/flower/store/FlowerBucketTest.java @@ -10,6 +10,11 @@ import java.util.Random; +/** + * tests for flowerbucket + * @hidden + */ + public class FlowerBucketTest { private static final Random RANDOM_GENERATOR = new Random(); private static final int MAX_QUANTITY = 1000; @@ -17,11 +22,18 @@ public class FlowerBucketTest { private FlowerBucket flowerBucket; + /** + * setup + */ @BeforeEach public void init() { flowerBucket = new FlowerBucket(); } + /** + * test price + * + */ @Test public void testPrice() { int price = RANDOM_GENERATOR.nextInt(MAX_PRICE); diff --git a/src/test/java/flower/store/FlowerPackTest.java b/src/test/java/flower/store/FlowerPackTest.java index 62439146..20d06b75 100644 --- a/src/test/java/flower/store/FlowerPackTest.java +++ b/src/test/java/flower/store/FlowerPackTest.java @@ -1,4 +1,8 @@ package flower.store; +/** + * tests for flower pack + * @hidden + */ public class FlowerPackTest { } diff --git a/src/test/java/flower/store/FlowerTest.java b/src/test/java/flower/store/FlowerTest.java index 211eba69..54e8090a 100644 --- a/src/test/java/flower/store/FlowerTest.java +++ b/src/test/java/flower/store/FlowerTest.java @@ -9,16 +9,26 @@ import org.junit.jupiter.api.Assertions; +/** + * test for flowers + * @hidden + */ public class FlowerTest { private static final Random RANDOM_GENERATOR = new Random(); private static final int MAX_PRICE = 100; private Flower flower; + /** + * setup + */ @BeforeEach public void init() { flower = new Flower(); } + /** + * test price + */ @Test public void testPrice() { int price = RANDOM_GENERATOR.nextInt(MAX_PRICE); @@ -26,6 +36,9 @@ public void testPrice() { Assertions.assertEquals(price, flower.getPrice()); } + /** + * test color + */ @Test public void testColor() { FlowerColor color = FlowerColor.RED; From af35708d37c26b8b4c90cddf22b90349474486bd Mon Sep 17 00:00:00 2001 From: Siromanec <91615647+Siromanec@users.noreply.github.com> Date: Fri, 11 Nov 2022 23:09:36 +0200 Subject: [PATCH 14/24] Update ci.yaml --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cd4c1302..169ed159 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -22,6 +22,6 @@ jobs: env: DEFAULT_BRANCH: master GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - JAVA_FILE_NAME: checkstyle.xml + JAVA_FILE_NAME: linters/checkstyle.xml - name: Test with Maven run: mvn --batch-mode --update-snapshots package From fd46fb6ee2e9b1415c9dc01f0c7791e77a6b3309 Mon Sep 17 00:00:00 2001 From: Siromanec <91615647+Siromanec@users.noreply.github.com> Date: Fri, 11 Nov 2022 23:18:01 +0200 Subject: [PATCH 15/24] Update ci.yaml --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 169ed159..cd4c1302 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -22,6 +22,6 @@ jobs: env: DEFAULT_BRANCH: master GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - JAVA_FILE_NAME: linters/checkstyle.xml + JAVA_FILE_NAME: checkstyle.xml - name: Test with Maven run: mvn --batch-mode --update-snapshots package From 6a9ee8d156a82de5618117aac60044eb31ff6cee Mon Sep 17 00:00:00 2001 From: Siromanec <91615647+Siromanec@users.noreply.github.com> Date: Fri, 11 Nov 2022 23:20:28 +0200 Subject: [PATCH 16/24] Create checkstyle.xml --- .github/workflows/checkstyle.xml | 309 +++++++++++++++++++++++++++++++ 1 file changed, 309 insertions(+) create mode 100644 .github/workflows/checkstyle.xml diff --git a/.github/workflows/checkstyle.xml b/.github/workflows/checkstyle.xml new file mode 100644 index 00000000..6b7e49b4 --- /dev/null +++ b/.github/workflows/checkstyle.xml @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 7070d1ce095e8eeac37fab1c3458469d2da9abcc Mon Sep 17 00:00:00 2001 From: Siromanec Date: Fri, 11 Nov 2022 23:42:19 +0200 Subject: [PATCH 17/24] docs --- .../java/flower/store/FlowerInventory.java | 30 ++++++++----------- src/main/java/flower/store/FlowerStore.java | 18 +++++++++-- .../flower/store/bucket/FlowerBucket.java | 9 +++--- src/main/java/flower/store/flower/Flower.java | 2 +- .../java/flower/store/flower/FlowerColor.java | 6 ++-- .../flower/store/flower/FlowerFactory.java | 2 +- .../java/flower/store/flower/FlowerSpec.java | 29 +++++++++--------- .../store/flowerPack/FlowerPackInventory.java | 15 +++++----- .../java/flower/store/flowers/Chamomile.java | 2 +- src/main/java/flower/store/flowers/Rose.java | 2 +- src/main/java/flower/store/flowers/Tulip.java | 2 +- 11 files changed, 63 insertions(+), 54 deletions(-) diff --git a/src/main/java/flower/store/FlowerInventory.java b/src/main/java/flower/store/FlowerInventory.java index a91204ac..7a5a9872 100644 --- a/src/main/java/flower/store/FlowerInventory.java +++ b/src/main/java/flower/store/FlowerInventory.java @@ -1,8 +1,6 @@ package flower.store; import flower.store.flower.Flower; -import flower.store.flower.FlowerColor; -import flower.store.flower.FlowerFactory; import flower.store.flower.FlowerSpec; import java.util.ArrayList; @@ -15,28 +13,24 @@ public class FlowerInventory { private final List inventory = new ArrayList<>(); + /** * constructor for flower inventory * currently has only three flowers */ public FlowerInventory() { - double rfp = 10; - double rsl = 0.5; - double bfp = 30; - double bsl = 2; - double wfp = 100; - double wsl = 10; - Flower redFlower = FlowerFactory - .createFlower(rfp, FlowerColor.RED, rsl); - Flower blueFlower = FlowerFactory - .createFlower(bfp, FlowerColor.BLUE, bsl); - Flower whiteFlower = FlowerFactory - .createFlower(wfp, FlowerColor.WHITE, wsl); - - inventory.add(redFlower); - inventory.add(blueFlower); - inventory.add(whiteFlower); + + + + } + + /** + * adds flowers to inventory + * @param flower flower user wants to add + */ + public void addFlower(Flower flower) { + inventory.add(flower); } /** * search tool to find flowers in the inventory diff --git a/src/main/java/flower/store/FlowerStore.java b/src/main/java/flower/store/FlowerStore.java index 54b354e9..e08150ec 100644 --- a/src/main/java/flower/store/FlowerStore.java +++ b/src/main/java/flower/store/FlowerStore.java @@ -2,6 +2,8 @@ package flower.store; import flower.store.flower.Flower; +import flower.store.flower.FlowerColor; +import flower.store.flower.FlowerFactory; import flower.store.flower.FlowerSpec; import java.util.List; @@ -16,9 +18,9 @@ public class FlowerStore { /** * constructor */ - private FlowerStore() {} + private FlowerStore() { } private static final - FlowerInventory flowerInventory = new FlowerInventory(); + FlowerInventory FLOWER_INVENTORY = new FlowerInventory(); /** * the main method @@ -26,6 +28,16 @@ private FlowerStore() {} */ public static void main(String[] args) { + Flower redFlower = FlowerFactory + .createFlower(10, FlowerColor.RED, 0.5); + Flower blueFlower = FlowerFactory + .createFlower(30, FlowerColor.BLUE, 2); + Flower whiteFlower = FlowerFactory + .createFlower(100, FlowerColor.WHITE, 10); + FLOWER_INVENTORY.addFlower(redFlower); + FLOWER_INVENTORY.addFlower(blueFlower); + FLOWER_INVENTORY.addFlower(whiteFlower); + Scanner sc = new Scanner(System.in); System.out.print("Please, enter the color: "); String color = sc.nextLine(); @@ -47,6 +59,6 @@ public static List search(final String color, FlowerSpec searchSpec = new FlowerSpec(); searchSpec.setSepalLength(sepalLength); searchSpec.setColor(color); - return flowerInventory.search(searchSpec); + return FLOWER_INVENTORY.search(searchSpec); } } diff --git a/src/main/java/flower/store/bucket/FlowerBucket.java b/src/main/java/flower/store/bucket/FlowerBucket.java index bf521b69..0e6e4123 100644 --- a/src/main/java/flower/store/bucket/FlowerBucket.java +++ b/src/main/java/flower/store/bucket/FlowerBucket.java @@ -11,15 +11,16 @@ * */ public class FlowerBucket { - /** - * constructor - */ - public FlowerBucket() {} @Getter private int price = 0; private final List flowerPacks = new ArrayList<>(); + /** + * constructor + */ + public FlowerBucket() { } + /** * adds flowerpacks to bucket * @param fp flower pack diff --git a/src/main/java/flower/store/flower/Flower.java b/src/main/java/flower/store/flower/Flower.java index 637052bf..33aac6d5 100644 --- a/src/main/java/flower/store/flower/Flower.java +++ b/src/main/java/flower/store/flower/Flower.java @@ -19,7 +19,7 @@ public class Flower { /** * constructor */ - public Flower() {} + public Flower() { } /** * getter for sepalLength diff --git a/src/main/java/flower/store/flower/FlowerColor.java b/src/main/java/flower/store/flower/FlowerColor.java index 12743698..4724aad0 100644 --- a/src/main/java/flower/store/flower/FlowerColor.java +++ b/src/main/java/flower/store/flower/FlowerColor.java @@ -7,16 +7,16 @@ public enum FlowerColor { /** * red */ - RED("red"),//("#FF0000"), + RED("red"), //("#FF0000"), /** * blue */ - BLUE("blue"),//("#0000FF"), + BLUE("blue"), //("#0000FF"), /** * white */ - WHITE("white");//("#000000"); + WHITE("white"); //("#000000"); private final String stringRepresentation; /** diff --git a/src/main/java/flower/store/flower/FlowerFactory.java b/src/main/java/flower/store/flower/FlowerFactory.java index 71a769b9..c2e89c49 100644 --- a/src/main/java/flower/store/flower/FlowerFactory.java +++ b/src/main/java/flower/store/flower/FlowerFactory.java @@ -7,7 +7,7 @@ public class FlowerFactory { /** * constructor */ - public FlowerFactory() {} + public FlowerFactory() { } /** * creates flowers * @param price price of the flower diff --git a/src/main/java/flower/store/flower/FlowerSpec.java b/src/main/java/flower/store/flower/FlowerSpec.java index e50acefe..30c074a0 100644 --- a/src/main/java/flower/store/flower/FlowerSpec.java +++ b/src/main/java/flower/store/flower/FlowerSpec.java @@ -10,35 +10,36 @@ @Getter @Setter @ToString public class FlowerSpec { + private FlowerColor color; + private double sepalLength; /** * constructor */ - public FlowerSpec() {} + public FlowerSpec() { } /** * handles input - * @param color color of the flower + * @param clr color of the flower */ - public void setColor(FlowerColor color) { - this.color = color; + public void setColor(FlowerColor clr) { + color = clr; } /** * handles input - * @param color color of the flower + * @param clr color of the flower */ - public void setColor(String color) { - if (color.equalsIgnoreCase("red")) { - this.color = FlowerColor.RED; + public void setColor(String clr) { + if (clr.equalsIgnoreCase("red")) { + color = FlowerColor.RED; } - else if (color.equalsIgnoreCase("blue")) { - this.color = FlowerColor.BLUE; + else if (clr.equalsIgnoreCase("blue")) { + color = FlowerColor.BLUE; } - else if (color.equalsIgnoreCase("white")) { - this.color = FlowerColor.WHITE; + else if (clr.equalsIgnoreCase("white")) { + color = FlowerColor.WHITE; } } - private FlowerColor color; - private double sepalLength; + } diff --git a/src/main/java/flower/store/flowerPack/FlowerPackInventory.java b/src/main/java/flower/store/flowerPack/FlowerPackInventory.java index a615718d..1369bf97 100644 --- a/src/main/java/flower/store/flowerPack/FlowerPackInventory.java +++ b/src/main/java/flower/store/flowerPack/FlowerPackInventory.java @@ -18,13 +18,14 @@ public FlowerPackInventory(T flower, int quantity) { /** * takes flowers from flower pack - * @param newPackSize the amount of flowers user wants to take away from the inventory + * @param newPackSize the amount of flowers user wants + * to take away from the inventory * @return a new flower pack inventory with given amount of flowers */ - public FlowerPack splitFLowerPack(int newPackSize){ - if (newPackSize<=getQuantity()){ - setQuantity(getQuantity()-newPackSize); - return new FlowerPack(getFlower(),newPackSize); + public FlowerPack splitFLowerPack(int newPackSize) { + if (newPackSize <= getQuantity()){ + setQuantity(getQuantity() - newPackSize); + return new FlowerPack(getFlower(), newPackSize); } return null; @@ -34,7 +35,7 @@ public FlowerPack splitFLowerPack(int newPackSize){ * adds flowers to pack * @param amount amount of flowers user wants to add to inventory */ - public void addFLowers(int amount){ - setQuantity(getQuantity()+amount); + public void addFLowers(int amount) { + setQuantity(getQuantity() + amount); } } diff --git a/src/main/java/flower/store/flowers/Chamomile.java b/src/main/java/flower/store/flowers/Chamomile.java index 0dfee58b..d35f4a40 100644 --- a/src/main/java/flower/store/flowers/Chamomile.java +++ b/src/main/java/flower/store/flowers/Chamomile.java @@ -11,7 +11,7 @@ public class Chamomile extends Flower { /** * creates a white chamomile */ - public Chamomile(){ + public Chamomile() { super(); setColor(FlowerColor.WHITE); setFlowerType(FlowerType.CHAMOMILE); diff --git a/src/main/java/flower/store/flowers/Rose.java b/src/main/java/flower/store/flowers/Rose.java index c2ffe0d8..b06bbd1f 100644 --- a/src/main/java/flower/store/flowers/Rose.java +++ b/src/main/java/flower/store/flowers/Rose.java @@ -11,7 +11,7 @@ public class Rose extends Flower { /** * creates a red rose */ - public Rose(){ + public Rose() { super(); setColor(FlowerColor.RED); setFlowerType(FlowerType.ROSE); diff --git a/src/main/java/flower/store/flowers/Tulip.java b/src/main/java/flower/store/flowers/Tulip.java index 4cf6889a..e6c9712a 100644 --- a/src/main/java/flower/store/flowers/Tulip.java +++ b/src/main/java/flower/store/flowers/Tulip.java @@ -11,7 +11,7 @@ public class Tulip extends Flower { /** * creates a beautiful tulip */ - public Tulip(){ + public Tulip() { super(); setColor(FlowerColor.RED); setFlowerType(FlowerType.TULIP); From d8ccfe8869917d888f042dec85f17e714ed4c4ea Mon Sep 17 00:00:00 2001 From: Siromanec Date: Fri, 11 Nov 2022 23:52:19 +0200 Subject: [PATCH 18/24] docs --- src/main/java/flower/store/FlowerStore.java | 3 +-- .../flower/store/bucket/FlowerBucket.java | 2 +- src/main/java/flower/store/flower/Flower.java | 15 +++++++++++++ .../flower/store/flowerPack/package-info.java | 4 ---- .../FlowerPack.java | 21 ++++++++++--------- .../FlowerPackInventory.java | 4 ++-- .../flower/store/flowerpack/package-info.java | 4 ++++ .../java/flower/store/FlowerBucketTest.java | 2 +- 8 files changed, 35 insertions(+), 20 deletions(-) delete mode 100644 src/main/java/flower/store/flowerPack/package-info.java rename src/main/java/flower/store/{flowerPack => flowerpack}/FlowerPack.java (95%) rename src/main/java/flower/store/{flowerPack => flowerpack}/FlowerPackInventory.java (93%) create mode 100644 src/main/java/flower/store/flowerpack/package-info.java diff --git a/src/main/java/flower/store/FlowerStore.java b/src/main/java/flower/store/FlowerStore.java index e08150ec..defe6a84 100644 --- a/src/main/java/flower/store/FlowerStore.java +++ b/src/main/java/flower/store/FlowerStore.java @@ -28,8 +28,7 @@ private FlowerStore() { } */ public static void main(String[] args) { - Flower redFlower = FlowerFactory - .createFlower(10, FlowerColor.RED, 0.5); + Flower redFlower = new Flower(10, FlowerColor.RED, 0.5); Flower blueFlower = FlowerFactory .createFlower(30, FlowerColor.BLUE, 2); Flower whiteFlower = FlowerFactory diff --git a/src/main/java/flower/store/bucket/FlowerBucket.java b/src/main/java/flower/store/bucket/FlowerBucket.java index 0e6e4123..14e69348 100644 --- a/src/main/java/flower/store/bucket/FlowerBucket.java +++ b/src/main/java/flower/store/bucket/FlowerBucket.java @@ -1,7 +1,7 @@ package flower.store.bucket; -import flower.store.flowerPack.FlowerPack; +import flower.store.flowerpack.FlowerPack; import lombok.Getter; import java.util.ArrayList; diff --git a/src/main/java/flower/store/flower/Flower.java b/src/main/java/flower/store/flower/Flower.java index 33aac6d5..d189a04e 100644 --- a/src/main/java/flower/store/flower/Flower.java +++ b/src/main/java/flower/store/flower/Flower.java @@ -21,6 +21,21 @@ public class Flower { */ public Flower() { } + /** + * constructor with parameters + * @param price price + * @param color color + * @param sepalLength sepalLength + */ + public Flower (double price, + FlowerColor color, + double sepalLength) { + + setPrice(price); + setColor(color); + setSepalLength(sepalLength); + } + /** * getter for sepalLength * @return sepalLength diff --git a/src/main/java/flower/store/flowerPack/package-info.java b/src/main/java/flower/store/flowerPack/package-info.java deleted file mode 100644 index 1ba4aea8..00000000 --- a/src/main/java/flower/store/flowerPack/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * flower pack stuff - */ -package flower.store.flowerPack; \ No newline at end of file diff --git a/src/main/java/flower/store/flowerPack/FlowerPack.java b/src/main/java/flower/store/flowerpack/FlowerPack.java similarity index 95% rename from src/main/java/flower/store/flowerPack/FlowerPack.java rename to src/main/java/flower/store/flowerpack/FlowerPack.java index 1e5c6b2f..e3625ab4 100644 --- a/src/main/java/flower/store/flowerPack/FlowerPack.java +++ b/src/main/java/flower/store/flowerpack/FlowerPack.java @@ -1,4 +1,4 @@ -package flower.store.flowerPack; +package flower.store.flowerpack; import flower.store.flower.Flower; import lombok.Getter; @@ -12,15 +12,6 @@ public class FlowerPack { private final Flower flower; private int quantity; - - /** - * get price for all flowers in a pack - * @return the price of this amount of flowers - */ - - public double getPrice() { - return flower.getPrice() * quantity; - } /** * flowerpack constructor * @param flower flower type the user wants to make a pack of @@ -33,4 +24,14 @@ public FlowerPack(final T flower, this.quantity = quantity; } + /** + * get price for all flowers in a pack + * @return the price of this amount of flowers + */ + + public double getPrice() { + return flower.getPrice() * quantity; + } + + } diff --git a/src/main/java/flower/store/flowerPack/FlowerPackInventory.java b/src/main/java/flower/store/flowerpack/FlowerPackInventory.java similarity index 93% rename from src/main/java/flower/store/flowerPack/FlowerPackInventory.java rename to src/main/java/flower/store/flowerpack/FlowerPackInventory.java index 1369bf97..72da0e8e 100644 --- a/src/main/java/flower/store/flowerPack/FlowerPackInventory.java +++ b/src/main/java/flower/store/flowerpack/FlowerPackInventory.java @@ -1,4 +1,4 @@ -package flower.store.flowerPack; +package flower.store.flowerpack; import flower.store.flower.Flower; @@ -23,7 +23,7 @@ public FlowerPackInventory(T flower, int quantity) { * @return a new flower pack inventory with given amount of flowers */ public FlowerPack splitFLowerPack(int newPackSize) { - if (newPackSize <= getQuantity()){ + if (newPackSize <= getQuantity()) { setQuantity(getQuantity() - newPackSize); return new FlowerPack(getFlower(), newPackSize); } diff --git a/src/main/java/flower/store/flowerpack/package-info.java b/src/main/java/flower/store/flowerpack/package-info.java new file mode 100644 index 00000000..5ea5e25c --- /dev/null +++ b/src/main/java/flower/store/flowerpack/package-info.java @@ -0,0 +1,4 @@ +/** + * flower pack stuff + */ +package flower.store.flowerpack; \ No newline at end of file diff --git a/src/test/java/flower/store/FlowerBucketTest.java b/src/test/java/flower/store/FlowerBucketTest.java index fec1c727..432a7beb 100644 --- a/src/test/java/flower/store/FlowerBucketTest.java +++ b/src/test/java/flower/store/FlowerBucketTest.java @@ -2,7 +2,7 @@ import flower.store.bucket.FlowerBucket; import flower.store.flower.Flower; -import flower.store.flowerPack.FlowerPack; +import flower.store.flowerpack.FlowerPack; import flower.store.flowers.Rose; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; From 35f9ffa1ab3db46d3b999cff6a492dd0ce224d7a Mon Sep 17 00:00:00 2001 From: Siromanec Date: Fri, 11 Nov 2022 23:57:49 +0200 Subject: [PATCH 19/24] docs --- src/main/java/flower/store/FlowerStore.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/java/flower/store/FlowerStore.java b/src/main/java/flower/store/FlowerStore.java index defe6a84..69ddad1b 100644 --- a/src/main/java/flower/store/FlowerStore.java +++ b/src/main/java/flower/store/FlowerStore.java @@ -15,12 +15,13 @@ */ public class FlowerStore { + private static final + FlowerInventory FLOWER_INVENTORY = new FlowerInventory(); /** * constructor */ private FlowerStore() { } - private static final - FlowerInventory FLOWER_INVENTORY = new FlowerInventory(); + /** * the main method @@ -29,10 +30,8 @@ private FlowerStore() { } public static void main(String[] args) { Flower redFlower = new Flower(10, FlowerColor.RED, 0.5); - Flower blueFlower = FlowerFactory - .createFlower(30, FlowerColor.BLUE, 2); - Flower whiteFlower = FlowerFactory - .createFlower(100, FlowerColor.WHITE, 10); + Flower blueFlower = new Flower(30, FlowerColor.BLUE, 2); + Flower whiteFlower = new Flower(100, FlowerColor.WHITE, 10); FLOWER_INVENTORY.addFlower(redFlower); FLOWER_INVENTORY.addFlower(blueFlower); FLOWER_INVENTORY.addFlower(whiteFlower); From dcc54ea58e93fed9f3f9e6a4f0ccb2c4292c36f2 Mon Sep 17 00:00:00 2001 From: Siromanec Date: Sat, 12 Nov 2022 00:05:10 +0200 Subject: [PATCH 20/24] docs --- src/main/java/flower/store/FlowerStore.java | 15 ++++++++------- src/main/java/flower/store/flower/Flower.java | 6 +++--- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/java/flower/store/FlowerStore.java b/src/main/java/flower/store/FlowerStore.java index 69ddad1b..4ed3549d 100644 --- a/src/main/java/flower/store/FlowerStore.java +++ b/src/main/java/flower/store/FlowerStore.java @@ -3,7 +3,6 @@ import flower.store.flower.Flower; import flower.store.flower.FlowerColor; -import flower.store.flower.FlowerFactory; import flower.store.flower.FlowerSpec; import java.util.List; @@ -17,6 +16,7 @@ public class FlowerStore { private static final FlowerInventory FLOWER_INVENTORY = new FlowerInventory(); + /** * constructor */ @@ -29,12 +29,13 @@ private FlowerStore() { } */ public static void main(String[] args) { - Flower redFlower = new Flower(10, FlowerColor.RED, 0.5); - Flower blueFlower = new Flower(30, FlowerColor.BLUE, 2); - Flower whiteFlower = new Flower(100, FlowerColor.WHITE, 10); - FLOWER_INVENTORY.addFlower(redFlower); - FLOWER_INVENTORY.addFlower(blueFlower); - FLOWER_INVENTORY.addFlower(whiteFlower); +// !!!!!!UNCOMMENT TO HAVE A WORKING INVENTORY!!!!!!! +// Flower redFlower = new Flower(10.0, FlowerColor.RED, 0.5); +// Flower blueFlower = new Flower(30.0, FlowerColor.BLUE, 2.0); +// Flower whiteFlower = new Flower(100.0, FlowerColor.WHITE, 10.0); +// FLOWER_INVENTORY.addFlower(redFlower); +// FLOWER_INVENTORY.addFlower(blueFlower); +// FLOWER_INVENTORY.addFlower(whiteFlower); Scanner sc = new Scanner(System.in); System.out.print("Please, enter the color: "); diff --git a/src/main/java/flower/store/flower/Flower.java b/src/main/java/flower/store/flower/Flower.java index d189a04e..e2a8cdf4 100644 --- a/src/main/java/flower/store/flower/Flower.java +++ b/src/main/java/flower/store/flower/Flower.java @@ -27,9 +27,9 @@ public Flower() { } * @param color color * @param sepalLength sepalLength */ - public Flower (double price, - FlowerColor color, - double sepalLength) { + public Flower(double price, + FlowerColor color, + double sepalLength) { setPrice(price); setColor(color); From b6adb05fc7f917762b4b5d82f74124dcc8189f99 Mon Sep 17 00:00:00 2001 From: Siromanec Date: Sat, 12 Nov 2022 00:09:00 +0200 Subject: [PATCH 21/24] docs --- src/main/java/flower/store/FlowerStore.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/flower/store/FlowerStore.java b/src/main/java/flower/store/FlowerStore.java index 4ed3549d..b1c54b6c 100644 --- a/src/main/java/flower/store/FlowerStore.java +++ b/src/main/java/flower/store/FlowerStore.java @@ -2,7 +2,6 @@ package flower.store; import flower.store.flower.Flower; -import flower.store.flower.FlowerColor; import flower.store.flower.FlowerSpec; import java.util.List; From 9d7793bfa7434daaa388eb157a84438d5bed2770 Mon Sep 17 00:00:00 2001 From: Siromanec <91615647+Siromanec@users.noreply.github.com> Date: Sat, 12 Nov 2022 00:10:53 +0200 Subject: [PATCH 22/24] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 46f20fa9..6f3835ea 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # FlowerStore -Rightfully acquiered from @dobosevych +Rightfully acquiered from @dobosevych \ +TO RUN THE STORE PROPERLY UNCOMMENT CODE FOR FILLING THE INVENTORY -# Best-selling flowers. Ever +##Best-selling flowers. Ever From 6d73ab19b023c8f86b6f9acc8fbf95e303b066aa Mon Sep 17 00:00:00 2001 From: Siromanec <91615647+Siromanec@users.noreply.github.com> Date: Sat, 12 Nov 2022 00:11:13 +0200 Subject: [PATCH 23/24] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6f3835ea..8ae564c3 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,4 @@ Rightfully acquiered from @dobosevych \ TO RUN THE STORE PROPERLY UNCOMMENT CODE FOR FILLING THE INVENTORY -##Best-selling flowers. Ever +## Best-selling flowers. Ever From 1b0ed673df87628071df6cd5e8a4cdac63a6f3c7 Mon Sep 17 00:00:00 2001 From: Siromanec Date: Sat, 12 Nov 2022 00:21:19 +0200 Subject: [PATCH 24/24] docs --- .../java/flower/store/FlowerPackTest.java | 41 ++++++++++++++++++- src/test/java/flower/store/FlowerTest.java | 2 +- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/src/test/java/flower/store/FlowerPackTest.java b/src/test/java/flower/store/FlowerPackTest.java index 20d06b75..93dfd4bb 100644 --- a/src/test/java/flower/store/FlowerPackTest.java +++ b/src/test/java/flower/store/FlowerPackTest.java @@ -1,8 +1,45 @@ package flower.store; +import flower.store.flower.Flower; +import flower.store.flowerpack.FlowerPack; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.util.Random; + /** - * tests for flower pack + * test for flowers * @hidden */ public class FlowerPackTest { -} + private static final Random RANDOM_GENERATOR = new Random(); + private static final int MAX_PRICE = 100; + private static final int MAX_COUNT = 100; + + private Flower flower; + + /** + * setup + */ + @BeforeEach + public void init() { + flower = new Flower(); + } + + /** + * test price + */ + @Test + public void testPrice() { + int price = RANDOM_GENERATOR.nextInt(MAX_PRICE); + int count = RANDOM_GENERATOR.nextInt(MAX_COUNT); + flower.setPrice(price); + FlowerPack pack = new FlowerPack(flower, count); + + + Assertions.assertEquals(price * count, pack.getPrice()); + } + + +} \ No newline at end of file diff --git a/src/test/java/flower/store/FlowerTest.java b/src/test/java/flower/store/FlowerTest.java index 54e8090a..0bfc6a5f 100644 --- a/src/test/java/flower/store/FlowerTest.java +++ b/src/test/java/flower/store/FlowerTest.java @@ -43,6 +43,6 @@ public void testPrice() { public void testColor() { FlowerColor color = FlowerColor.RED; flower.setColor(color); - Assertions.assertEquals("#FF0000", flower.getColor()); + Assertions.assertEquals("red", flower.getColor()); } }