From 8e1b4567ce714586b09a99c259ee2e0bdb5cf025 Mon Sep 17 00:00:00 2001 From: FelixKrull Date: Tue, 25 Jan 2022 10:40:46 +0100 Subject: [PATCH] Fix Up Player and PlayerTest Collection to Arraylist --- src/main/java/Player.java | 16 ++-- src/test/java/PlayerTest.java | 150 ++++++++++++++++++---------------- 2 files changed, 89 insertions(+), 77 deletions(-) diff --git a/src/main/java/Player.java b/src/main/java/Player.java index b5da374..0ed8bd6 100644 --- a/src/main/java/Player.java +++ b/src/main/java/Player.java @@ -1,10 +1,10 @@ -import java.util.Collection; +import java.util.ArrayList; import java.util.Iterator; public class Player { String name; - Figure[] figures; + ArrayList
figures; int startHome; int endHome; @@ -12,9 +12,9 @@ public class Player { this.name = name; this.startHome = startHome; this.endHome = endHome; - figures = new Figure[4]; + figures = new ArrayList<>(); for(int i = 0; i < 4; i++) { - this.figures[i] = new Figure(); + figures.add(new Figure()); } } @@ -27,10 +27,10 @@ public class Player { return (int) (Math.random() * 6 + 1); } - public boolean checkGameWin(Collection
figures) { + public boolean checkGameWin(ArrayList
figures) { Iterator
it = figures.iterator(); Figure f; - for(;it.hasNext();) { + while(it.hasNext()) { f = it.next(); if(!(f.getPosition() >= startHome && f.getPosition() <= endHome)) { return false; @@ -39,10 +39,10 @@ public class Player { return true; } - public boolean checkFigureInBase(Collection
figures) { + public boolean checkFigureInBase(ArrayList
figures) { Iterator
it = figures.iterator(); Figure f; - for(;it.hasNext();) { + while(it.hasNext()) { f = it.next(); if(f.getPosition() == -1) { return true; diff --git a/src/test/java/PlayerTest.java b/src/test/java/PlayerTest.java index fed5ccd..07a3033 100644 --- a/src/test/java/PlayerTest.java +++ b/src/test/java/PlayerTest.java @@ -6,6 +6,7 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Iterator; @@ -36,9 +37,10 @@ public class PlayerTest { @Test void checkStartPositionOfFigures() { int expectedResult = -1; - int calculatedResult = p.figures[0].position; - for(int i = 0; i < 4; i++) { - calculatedResult = p.figures[i].position; + Iterator
it = p.figures.iterator(); + int calculatedResult = it.next().position; + while(it.hasNext()) { + calculatedResult = it.next().position; if(expectedResult != calculatedResult) { calculatedResult = 1; break; @@ -49,69 +51,74 @@ public class PlayerTest { @ParameterizedTest @MethodSource("GameWinTestData") - void checkGameWin(String testname, Collection
figures, Collection positions, boolean expectedResult) { + void checkGameWin(String testname, ArrayList
figures, Collection positions, boolean expectedResult) { Iterator
it = figures.iterator(); Iterator it2 = positions.iterator(); - for(;it.hasNext();) { + while(it.hasNext()) { it.next().setPosition(it2.next()); } boolean calculatedResult = p.checkGameWin(figures); - assertThat(calculatedResult).describedAs("Check Win").isEqualTo(expectedResult); + assertThat(calculatedResult).describedAs(testname).isEqualTo(expectedResult); } @ParameterizedTest @MethodSource("BaseTestData") - void checkFigureInBase(String testname, Collection
figures, Collection positions, boolean expectedResult) { + void checkFigureInBase(String testname, ArrayList
figures, Collection positions, boolean expectedResult) { Iterator
it = figures.iterator(); Iterator it2 = positions.iterator(); - for(;it.hasNext();) { + while(it.hasNext()) { it.next().setPosition(it2.next()); } boolean calculatedResult = p.checkFigureInBase(figures); - assertThat(calculatedResult).describedAs("Check Win").isEqualTo(expectedResult); + assertThat(calculatedResult).describedAs(testname).isEqualTo(expectedResult); } static Stream GameWinTestData() { return Stream.of( Arguments.of("No Figures in House", - Arrays.asList( - new Figure(), - new Figure(), - new Figure(), - new Figure()), - Arrays.asList(-1, -1, -1, -1), + new ArrayList<>( + Arrays.asList( + new Figure(), + new Figure(), + new Figure(), + new Figure()) + ), Arrays.asList(-1, -1, -1, -1), false), Arguments.of("One Figure in House", - Arrays.asList( - new Figure(), - new Figure(), - new Figure(), - new Figure()), - Arrays.asList(40, -1, -1, -1), + new ArrayList<>( + Arrays.asList( + new Figure(), + new Figure(), + new Figure(), + new Figure()) + ), Arrays.asList(40, -1, -1, -1), false), Arguments.of("Two Figures in House", - Arrays.asList( - new Figure(), - new Figure(), - new Figure(), - new Figure()), - Arrays.asList(40, 41, -1, -1), + new ArrayList<>( + Arrays.asList( + new Figure(), + new Figure(), + new Figure(), + new Figure()) + ), Arrays.asList(40, 41, -1, -1), false), Arguments.of("Three Figures in House", - Arrays.asList( - new Figure(), - new Figure(), - new Figure(), - new Figure()), - Arrays.asList(40, 41, 42, -1), + new ArrayList<>( + Arrays.asList( + new Figure(), + new Figure(), + new Figure(), + new Figure()) + ), Arrays.asList(40, 41, 42, -1), false), Arguments.of("Four Figures in House", - Arrays.asList( - new Figure(), - new Figure(), - new Figure(), - new Figure()), - Arrays.asList(40, 41, 42, 43), + new ArrayList<>( + Arrays.asList( + new Figure(), + new Figure(), + new Figure(), + new Figure()) + ), Arrays.asList(40, 41, 42, 43), true) ); } @@ -119,44 +126,49 @@ public class PlayerTest { static Stream BaseTestData() { return Stream.of( Arguments.of("Four Figures in Base", - Arrays.asList( - new Figure(), - new Figure(), - new Figure(), - new Figure()), - Arrays.asList(-1, -1, -1, -1), + new ArrayList<>( + Arrays.asList( + new Figure(), + new Figure(), + new Figure(), + new Figure()) + ), Arrays.asList(-1, -1, -1, -1), true), Arguments.of("Three Figures in Base", - Arrays.asList( - new Figure(), - new Figure(), - new Figure(), - new Figure()), - Arrays.asList(40, -1, -1, -1), + new ArrayList<>( + Arrays.asList( + new Figure(), + new Figure(), + new Figure(), + new Figure()) + ), Arrays.asList(40, -1, -1, -1), true), Arguments.of("Two Figures in Base", - Arrays.asList( - new Figure(), - new Figure(), - new Figure(), - new Figure()), - Arrays.asList(40, 41, -1, -1), + new ArrayList<>( + Arrays.asList( + new Figure(), + new Figure(), + new Figure(), + new Figure()) + ), Arrays.asList(40, 41, -1, -1), true), Arguments.of("One Figure in Base", - Arrays.asList( - new Figure(), - new Figure(), - new Figure(), - new Figure()), - Arrays.asList(40, 41, 42, -1), + new ArrayList<>( + Arrays.asList( + new Figure(), + new Figure(), + new Figure(), + new Figure()) + ), Arrays.asList(40, 41, 42, -1), true), Arguments.of("No Figures in Base", - Arrays.asList( - new Figure(), - new Figure(), - new Figure(), - new Figure()), - Arrays.asList(40, 41, 42, 43), + new ArrayList<>( + Arrays.asList( + new Figure(), + new Figure(), + new Figure(), + new Figure()) + ), Arrays.asList(40, 41, 42, 43), false) ); }