From 0f4370cee071ada7bf1974a3ae2eeb14c4d00aab Mon Sep 17 00:00:00 2001 From: Mike Vink Date: Tue, 22 Jun 2021 17:28:10 +0200 Subject: refactor(domain tests) <- reorganising --- .../main/java/mancala/domain/DomainSmallBowlException.java | 7 +++++++ domain/src/main/java/mancala/domain/MancalaImpl.java | 6 +++++- domain/src/main/java/mancala/domain/SmallBowl.java | 11 ++++++----- 3 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 domain/src/main/java/mancala/domain/DomainSmallBowlException.java (limited to 'domain/src/main/java') diff --git a/domain/src/main/java/mancala/domain/DomainSmallBowlException.java b/domain/src/main/java/mancala/domain/DomainSmallBowlException.java new file mode 100644 index 0000000..56e5de1 --- /dev/null +++ b/domain/src/main/java/mancala/domain/DomainSmallBowlException.java @@ -0,0 +1,7 @@ +package mancala.domain; + +public class DomainSmallBowlException extends Exception { + public DomainSmallBowlException(String message) { + super(message); + } +} diff --git a/domain/src/main/java/mancala/domain/MancalaImpl.java b/domain/src/main/java/mancala/domain/MancalaImpl.java index 29048ff..a8e6691 100644 --- a/domain/src/main/java/mancala/domain/MancalaImpl.java +++ b/domain/src/main/java/mancala/domain/MancalaImpl.java @@ -18,7 +18,11 @@ public class MancalaImpl implements Mancala { private SmallBowl domainReference; public MancalaImpl() { - domainReference = new SmallBowl(); + try { + domainReference = new SmallBowl(); + } catch (DomainSmallBowlException e) { + e.printStackTrace(); + } domainPlayer = domainReference.getMyOwner(); domainOpponent = domainPlayer.getOpponent(); } diff --git a/domain/src/main/java/mancala/domain/SmallBowl.java b/domain/src/main/java/mancala/domain/SmallBowl.java index 07fa1e0..b9e4b45 100644 --- a/domain/src/main/java/mancala/domain/SmallBowl.java +++ b/domain/src/main/java/mancala/domain/SmallBowl.java @@ -6,13 +6,14 @@ import java.util.stream.Collectors; public class SmallBowl extends Bowl { - public SmallBowl() { - this( - Arrays.stream(new int[] {4,4,4,4,4,4,0,4,4,4,4,4,4,0}).boxed().collect(Collectors.toList()) - ); + public SmallBowl() throws DomainSmallBowlException { + this(Arrays.stream(new int[] {4,4,4,4,4,4,0,4,4,4,4,4,4,0}).boxed().collect(Collectors.toList())); } - public SmallBowl(List stonesList) { + public SmallBowl(List stonesList) throws DomainSmallBowlException { + if (stonesList.size() % 2 != 0) { + throw new DomainSmallBowlException("Stones List should contain even number of elements."); + } this.myOwner = new Player(); int boardSize = stonesList.size(); -- cgit v1.2.3