From ff45f9f7c4704371f896e4335fcf618e6b7a1dfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Matejko?= Date: Thu, 25 Oct 2018 00:56:39 +0200 Subject: [PATCH 1/8] Fixed wrong else condition --- .../test/java/com/iluwatar/hexagonal/domain/LotteryTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTest.java index c7ec40d345f5..4dafa98b8c28 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTest.java @@ -101,7 +101,7 @@ void testLottery() { assertNotEquals(CheckResult.TICKET_NOT_SUBMITTED, checkResult.getResult()); if (checkResult.getResult().equals(CheckResult.WIN_PRIZE)) { assertTrue(checkResult.getPrizeAmount() > 0); - } else if (checkResult.getResult().equals(CheckResult.WIN_PRIZE)) { + } else { assertEquals(0, checkResult.getPrizeAmount()); } } From a2b09e654d0cc3f1fac887f078da68bd24114f0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Matejko?= Date: Thu, 25 Oct 2018 01:09:32 +0200 Subject: [PATCH 2/8] Simplified creating Set of numbers --- .../hexagonal/database/MongoTicketRepository.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/database/MongoTicketRepository.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/database/MongoTicketRepository.java index 7b103da4f776..238414c279bd 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/database/MongoTicketRepository.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/database/MongoTicketRepository.java @@ -39,6 +39,7 @@ import java.util.Map; import java.util.Optional; import java.util.Set; +import java.util.stream.Collectors; /** * Mongo lottery ticket database @@ -129,7 +130,7 @@ public MongoCollection getCountersCollection() { @Override public Optional findById(LotteryTicketId id) { Document find = new Document("ticketId", id.getId()); - List results = ticketsCollection.find(find).limit(1).into(new ArrayList()); + List results = ticketsCollection.find(find).limit(1).into(new ArrayList<>()); if (results.size() > 0) { LotteryTicket lotteryTicket = docToTicket(results.get(0)); return Optional.of(lotteryTicket); @@ -153,7 +154,7 @@ public Optional save(LotteryTicket ticket) { @Override public Map findAll() { Map map = new HashMap<>(); - List docs = ticketsCollection.find(new Document()).into(new ArrayList()); + List docs = ticketsCollection.find(new Document()).into(new ArrayList<>()); for (Document doc: docs) { LotteryTicket lotteryTicket = docToTicket(doc); map.put(lotteryTicket.getId(), lotteryTicket); @@ -169,11 +170,9 @@ public void deleteAll() { private LotteryTicket docToTicket(Document doc) { PlayerDetails playerDetails = new PlayerDetails(doc.getString("email"), doc.getString("bank"), doc.getString("phone")); - int[] numArray = Arrays.asList(doc.getString("numbers").split(",")).stream().mapToInt(Integer::parseInt).toArray(); - Set numbers = new HashSet<>(); - for (int num: numArray) { - numbers.add(num); - } + Set numbers = Arrays.stream(doc.getString("numbers").split(",")) + .map(Integer::parseInt) + .collect(Collectors.toSet()); LotteryNumbers lotteryNumbers = LotteryNumbers.create(numbers); return new LotteryTicket(new LotteryTicketId(doc.getInteger("ticketId")), playerDetails, lotteryNumbers); } From 724bbb39e9842ec3b016e6973eb000a63cc3f869 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Matejko?= Date: Thu, 25 Oct 2018 01:11:48 +0200 Subject: [PATCH 3/8] Deleted unused imports --- .../iluwatar/hexagonal/database/MongoTicketRepository.java | 1 - .../com/iluwatar/hexagonal/domain/LotteryTicketTest.java | 7 +++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/database/MongoTicketRepository.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/database/MongoTicketRepository.java index 238414c279bd..8a6594f79149 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/database/MongoTicketRepository.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/database/MongoTicketRepository.java @@ -34,7 +34,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Optional; diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketTest.java index 1274a6dd3955..0a313ddcf358 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryTicketTest.java @@ -28,7 +28,6 @@ import java.util.HashSet; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotEquals; /** @@ -39,14 +38,14 @@ class LotteryTicketTest { @Test void testEquals() { PlayerDetails details1 = new PlayerDetails("bob@foo.bar", "1212-121212", "+34332322"); - LotteryNumbers numbers1 = LotteryNumbers.create(new HashSet(Arrays.asList(1, 2, 3, 4))); + LotteryNumbers numbers1 = LotteryNumbers.create(new HashSet<>(Arrays.asList(1, 2, 3, 4))); LotteryTicket ticket1 = new LotteryTicket(new LotteryTicketId(), details1, numbers1); PlayerDetails details2 = new PlayerDetails("bob@foo.bar", "1212-121212", "+34332322"); - LotteryNumbers numbers2 = LotteryNumbers.create(new HashSet(Arrays.asList(1, 2, 3, 4))); + LotteryNumbers numbers2 = LotteryNumbers.create(new HashSet<>(Arrays.asList(1, 2, 3, 4))); LotteryTicket ticket2 = new LotteryTicket(new LotteryTicketId(), details2, numbers2); assertEquals(ticket1, ticket2); PlayerDetails details3 = new PlayerDetails("elsa@foo.bar", "1223-121212", "+49332322"); - LotteryNumbers numbers3 = LotteryNumbers.create(new HashSet(Arrays.asList(1, 2, 3, 8))); + LotteryNumbers numbers3 = LotteryNumbers.create(new HashSet<>(Arrays.asList(1, 2, 3, 8))); LotteryTicket ticket3 = new LotteryTicket(new LotteryTicketId(), details3, numbers3); assertNotEquals(ticket1, ticket3); } From f6468519b9f47c6aa62de33955ea40d9ab7d3cc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Matejko?= Date: Thu, 25 Oct 2018 01:16:00 +0200 Subject: [PATCH 4/8] Replaced 'for' loop with 'foreach' one --- .../java/com/iluwatar/hexagonal/sampledata/SampleData.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java index 23d409ff4ba2..c3ff3ffbdd9b 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java @@ -84,8 +84,8 @@ public class SampleData { PLAYERS.add(new PlayerDetails("harriet@google.com", "842-404", "+131243252")); InMemoryBank wireTransfers = new InMemoryBank(); Random random = new Random(); - for (int i = 0; i < PLAYERS.size(); i++) { - wireTransfers.setFunds(PLAYERS.get(i).getBankAccount(), + for (PlayerDetails player : PLAYERS) { + wireTransfers.setFunds(player.getBankAccount(), random.nextInt(LotteryConstants.PLAYER_MAX_SALDO)); } } From a256b2506a043f2a1c91b3e9292c506472dc1be4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Matejko?= Date: Thu, 25 Oct 2018 01:18:19 +0200 Subject: [PATCH 5/8] Replaced explicit type with diamond --- .../src/main/java/com/iluwatar/hexagonal/banking/MongoBank.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/banking/MongoBank.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/banking/MongoBank.java index 7ccc829eda98..d392b8b102b7 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/banking/MongoBank.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/banking/MongoBank.java @@ -111,7 +111,7 @@ public void setFunds(String bankAccount, int amount) { @Override public int getFunds(String bankAccount) { Document search = new Document("_id", bankAccount); - List results = accountsCollection.find(search).limit(1).into(new ArrayList()); + List results = accountsCollection.find(search).limit(1).into(new ArrayList<>()); if (results.size() > 0) { return results.get(0).getInteger("funds"); } else { From baf9da21cf4f55f86c18896d663bafcd6119dce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Matejko?= Date: Thu, 25 Oct 2018 01:19:35 +0200 Subject: [PATCH 6/8] Removed unnecesary brackets from lambda --- .../com/iluwatar/hexagonal/domain/LotteryNumbersTest.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryNumbersTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryNumbersTest.java index de9247ed9c60..2baf58762678 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryNumbersTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/domain/LotteryNumbersTest.java @@ -54,9 +54,7 @@ void testGivenNumbers() { void testNumbersCantBeModified() { LotteryNumbers numbers = LotteryNumbers.create( new HashSet<>(Arrays.asList(1, 2, 3, 4))); - assertThrows(UnsupportedOperationException.class, () -> { - numbers.getNumbers().add(5); - }); + assertThrows(UnsupportedOperationException.class, () -> numbers.getNumbers().add(5)); } @Test From a271691b585e9d9902c48c974384e68954f000aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Matejko?= Date: Thu, 25 Oct 2018 01:20:56 +0200 Subject: [PATCH 7/8] Removed unnecesary contains check before adding element to Set --- .../java/com/iluwatar/hexagonal/domain/LotteryNumbers.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryNumbers.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryNumbers.java index 65b173cab2ed..c6501a5a61a4 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryNumbers.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryNumbers.java @@ -96,9 +96,7 @@ private void generateRandomNumbers() { RandomNumberGenerator generator = new RandomNumberGenerator(MIN_NUMBER, MAX_NUMBER); while (numbers.size() < NUM_NUMBERS) { int num = generator.nextInt(); - if (!numbers.contains(num)) { - numbers.add(num); - } + numbers.add(num); } } @@ -162,5 +160,5 @@ public boolean equals(Object obj) { return false; } return true; - } + } } From 233ecb1ac0d9dfcf5b97ea91ace1a06d5019c9f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Matejko?= Date: Thu, 25 Oct 2018 16:56:00 +0200 Subject: [PATCH 8/8] Fixed typo and changed non-english constant names --- hexagonal/src/main/java/com/iluwatar/hexagonal/App.java | 6 +++--- .../java/com/iluwatar/hexagonal/banking/InMemoryBank.java | 2 +- .../com/iluwatar/hexagonal/domain/LotteryConstants.java | 4 ++-- .../java/com/iluwatar/hexagonal/sampledata/SampleData.java | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/App.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/App.java index 6e226a1e19a8..8d624fdbefb6 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/App.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/App.java @@ -70,14 +70,14 @@ public static void main(String[] args) { Injector injector = Guice.createInjector(new LotteryTestingModule()); // start new lottery round - LotteryAdministration administartion = injector.getInstance(LotteryAdministration.class); - administartion.resetLottery(); + LotteryAdministration administration = injector.getInstance(LotteryAdministration.class); + administration.resetLottery(); // submit some lottery tickets LotteryService service = injector.getInstance(LotteryService.class); SampleData.submitTickets(service, 20); // perform lottery - administartion.performLottery(); + administration.performLottery(); } } diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/banking/InMemoryBank.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/banking/InMemoryBank.java index a8eb7817c046..899d2c7ac7b3 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/banking/InMemoryBank.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/banking/InMemoryBank.java @@ -37,7 +37,7 @@ public class InMemoryBank implements WireTransfers { private static Map accounts = new HashMap<>(); static { - accounts.put(LotteryConstants.SERVICE_BANK_ACCOUNT, LotteryConstants.SERVICE_BANK_ACCOUNT_SALDO); + accounts.put(LotteryConstants.SERVICE_BANK_ACCOUNT, LotteryConstants.SERVICE_BANK_ACCOUNT_BALANCE); } @Override diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryConstants.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryConstants.java index 9ecbb74b9f82..c1c5e83264df 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryConstants.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryConstants.java @@ -35,7 +35,7 @@ private LotteryConstants() { public static final int PRIZE_AMOUNT = 100000; public static final String SERVICE_BANK_ACCOUNT = "123-123"; public static final int TICKET_PRIZE = 3; - public static final int SERVICE_BANK_ACCOUNT_SALDO = 150000; - public static final int PLAYER_MAX_SALDO = 100; + public static final int SERVICE_BANK_ACCOUNT_BALANCE = 150000; + public static final int PLAYER_MAX_BALANCE = 100; } diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java index c3ff3ffbdd9b..410b9449b368 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java @@ -86,7 +86,7 @@ public class SampleData { Random random = new Random(); for (PlayerDetails player : PLAYERS) { wireTransfers.setFunds(player.getBankAccount(), - random.nextInt(LotteryConstants.PLAYER_MAX_SALDO)); + random.nextInt(LotteryConstants.PLAYER_MAX_BALANCE)); } }