From 93d91e711243fee9571d002bbb438b3a055c7c21 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 20:54:29 +0100 Subject: [PATCH 01/31] initial figure movement field check (smaller than expected) --- build.gradle | 12 ++++++++---- fh.fd.ci.client/build.gradle | 2 +- .../src/main/java/de/fd/fh/Figure.java | 9 +++++++++ .../src/test/java/de/fd/fh/FigureTest.java | 17 +++++++++++++++++ 4 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java create mode 100644 fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java diff --git a/build.gradle b/build.gradle index 4fc1d1f..e2ba4fd 100644 --- a/build.gradle +++ b/build.gradle @@ -10,10 +10,6 @@ repositories { jcenter() } -dependencies { - testCompile group: 'junit', name: 'junit', version: '4.12' -} - subprojects { apply plugin: 'java' @@ -23,11 +19,19 @@ subprojects { jcenter() } + test { + useJUnitPlatform() + } + dependencies { compileOnly 'org.projectlombok:lombok:1.18.16' annotationProcessor 'org.projectlombok:lombok:1.18.16' testCompileOnly 'org.projectlombok:lombok:1.18.16' testAnnotationProcessor 'org.projectlombok:lombok:1.18.16' + + testImplementation('org.junit.jupiter:junit-jupiter:5.7.0') + testImplementation('org.mockito:mockito-core:3.7.0') + testImplementation('org.hamcrest:hamcrest-core:2.2') } } diff --git a/fh.fd.ci.client/build.gradle b/fh.fd.ci.client/build.gradle index 2e0dd87..e2d7f57 100644 --- a/fh.fd.ci.client/build.gradle +++ b/fh.fd.ci.client/build.gradle @@ -1,6 +1,6 @@ plugins { id 'application' - id 'org.openjfx.javafxplugin' version '0.0.8' + id 'org.openjfx.javafxplugin' version '0.0.9' } mainClassName = 'de.fd.fh.ClientApp' diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java new file mode 100644 index 0000000..3b3815d --- /dev/null +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -0,0 +1,9 @@ +package de.fd.fh; + +public class Figure +{ + public boolean moveAllowed(int src, int dst, int[] field) + { + return false; + } +} diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java new file mode 100644 index 0000000..0494e0a --- /dev/null +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -0,0 +1,17 @@ +package de.fd.fh; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class FigureTest +{ + @Test + void checkMoveWithInvalidFieldSmall() // Feldgröße sollte 8*8 betragen + { + Figure f = new Figure(); + assertFalse(f.moveAllowed(0,0, new int[0])); + } + + +} \ No newline at end of file From 5cd665a0cf4acb4e8e7c7b29e200ceb0081f4747 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 21:04:20 +0100 Subject: [PATCH 02/31] figure movement field check (bigger than expected) --- fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 0494e0a..476968a 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -13,5 +13,10 @@ class FigureTest assertFalse(f.moveAllowed(0,0, new int[0])); } - + @Test + void checkMoveWithInvalidFieldBigger() // Feldgröße sollte 8*8 betragen + { + Figure f = new Figure(); + assertFalse(f.moveAllowed(0,0, new int[8*9])); + } } \ No newline at end of file From c20e2e364af608ebce8c9590b74bb60fcb9f02bf Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 21:06:02 +0100 Subject: [PATCH 03/31] figure movement field check (expected size) --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 5 +++++ fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 3b3815d..724aaac 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -4,6 +4,11 @@ public class Figure { public boolean moveAllowed(int src, int dst, int[] field) { + if (field.length == 8*8) + { + return true; + } + return false; } } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 476968a..fdadc15 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -19,4 +19,11 @@ class FigureTest Figure f = new Figure(); assertFalse(f.moveAllowed(0,0, new int[8*9])); } + + @Test + void checkMoveWithInvalidFieldCorrect() // Feldgröße sollte 8*8 betragen + { + Figure f = new Figure(); + assertTrue(f.moveAllowed(0,0, new int[8*8])); + } } \ No newline at end of file From dfc7b426d41e1dc3e7bb4f96a37ab141d3379e07 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 21:10:30 +0100 Subject: [PATCH 04/31] refactored correct size of chess field --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 4 +++- fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 724aaac..0b5b4d5 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -2,9 +2,11 @@ package de.fd.fh; public class Figure { + public static final int fieldSize = 64; + public boolean moveAllowed(int src, int dst, int[] field) { - if (field.length == 8*8) + if (field.length == fieldSize) { return true; } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index fdadc15..b764ba1 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -24,6 +24,6 @@ class FigureTest void checkMoveWithInvalidFieldCorrect() // Feldgröße sollte 8*8 betragen { Figure f = new Figure(); - assertTrue(f.moveAllowed(0,0, new int[8*8])); + assertTrue(f.moveAllowed(0,0, new int[Figure.fieldSize])); } } \ No newline at end of file From 3f72b6b9c8beba799c9df3ce2bfbe4259a8a0741 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 21:21:20 +0100 Subject: [PATCH 05/31] refactored figure test position (1. white farmer) --- fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index b764ba1..22902f1 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -17,13 +17,13 @@ class FigureTest void checkMoveWithInvalidFieldBigger() // Feldgröße sollte 8*8 betragen { Figure f = new Figure(); - assertFalse(f.moveAllowed(0,0, new int[8*9])); + assertFalse(f.moveAllowed(48,40, new int[8*9])); } @Test void checkMoveWithInvalidFieldCorrect() // Feldgröße sollte 8*8 betragen { Figure f = new Figure(); - assertTrue(f.moveAllowed(0,0, new int[Figure.fieldSize])); + assertTrue(f.moveAllowed(48,40, new int[Figure.fieldSize])); } } \ No newline at end of file From ef18ef4f9801598699240d12cd298a9b936b828e Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 21:22:22 +0100 Subject: [PATCH 06/31] figure movement: invalid step --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 5 +++++ fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 0b5b4d5..f4e9625 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -6,6 +6,11 @@ public class Figure public boolean moveAllowed(int src, int dst, int[] field) { + if (src == dst) + { + return false; + } + if (field.length == fieldSize) { return true; diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 22902f1..56d8ae9 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -26,4 +26,11 @@ class FigureTest Figure f = new Figure(); assertTrue(f.moveAllowed(48,40, new int[Figure.fieldSize])); } + + @Test + void checkMoveWithoutNewDestination() + { + Figure f = new Figure(); + assertFalse(f.moveAllowed(48,48, new int[Figure.fieldSize])); + } } \ No newline at end of file From 9087d986c529e4aead6f5a13e65b58293022cc7d Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 21:23:59 +0100 Subject: [PATCH 07/31] figure movement: valid step (width: 1) --- fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 56d8ae9..36f6c10 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -33,4 +33,11 @@ class FigureTest Figure f = new Figure(); assertFalse(f.moveAllowed(48,48, new int[Figure.fieldSize])); } + + @Test + void checkMoveWithValidDestination() + { + Figure f = new Figure(); + assertTrue(f.moveAllowed(48,40, new int[Figure.fieldSize])); + } } \ No newline at end of file From c07b966a00509d86be4096cd1b8297759d1c51b9 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 21:41:01 +0100 Subject: [PATCH 08/31] figure movement: white farmer invalid step direction "bottom" --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 11 ++++++++--- .../src/test/java/de/fd/fh/FigureTest.java | 7 +++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index f4e9625..8e3c87f 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -11,11 +11,16 @@ public class Figure return false; } - if (field.length == fieldSize) + if (field.length != fieldSize) { - return true; + return false; + } + + if (dst >= 56) + { + return false; } - return false; + return true; } } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 36f6c10..c630e63 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -40,4 +40,11 @@ class FigureTest Figure f = new Figure(); assertTrue(f.moveAllowed(48,40, new int[Figure.fieldSize])); } + + @Test + void whiteFarmerInvalidDestinationDown() // statt nach "oben" wird nach "unten" gegangen + { + Figure f = new Figure(); + assertFalse(f.moveAllowed(48,56, new int[Figure.fieldSize])); + } } \ No newline at end of file From 0af2521e3a846902f3e8ca394db248df160bb648 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 21:45:52 +0100 Subject: [PATCH 09/31] refactored field length --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 6 +++--- .../src/test/java/de/fd/fh/FigureTest.java | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 8e3c87f..2ae7a40 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -2,7 +2,7 @@ package de.fd.fh; public class Figure { - public static final int fieldSize = 64; + public static final int fieldLength = 8; public boolean moveAllowed(int src, int dst, int[] field) { @@ -11,12 +11,12 @@ public class Figure return false; } - if (field.length != fieldSize) + if (field.length != Figure.fieldLength * Figure.fieldLength) { return false; } - if (dst >= 56) + if (dst >= Figure.fieldLength * 7 + 0) { return false; } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index c630e63..30b993b 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -10,41 +10,41 @@ class FigureTest void checkMoveWithInvalidFieldSmall() // Feldgröße sollte 8*8 betragen { Figure f = new Figure(); - assertFalse(f.moveAllowed(0,0, new int[0])); + assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 5 + 0, new int[0])); } @Test void checkMoveWithInvalidFieldBigger() // Feldgröße sollte 8*8 betragen { Figure f = new Figure(); - assertFalse(f.moveAllowed(48,40, new int[8*9])); + assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 5 + 0, new int[8*9])); } @Test void checkMoveWithInvalidFieldCorrect() // Feldgröße sollte 8*8 betragen { Figure f = new Figure(); - assertTrue(f.moveAllowed(48,40, new int[Figure.fieldSize])); + assertTrue(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 5 + 0, new int[Figure.fieldLength * Figure.fieldLength])); } @Test void checkMoveWithoutNewDestination() { Figure f = new Figure(); - assertFalse(f.moveAllowed(48,48, new int[Figure.fieldSize])); + assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 6 + 0, new int[Figure.fieldLength * Figure.fieldLength])); } @Test void checkMoveWithValidDestination() { Figure f = new Figure(); - assertTrue(f.moveAllowed(48,40, new int[Figure.fieldSize])); + assertTrue(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 5 + 0, new int[Figure.fieldLength * Figure.fieldLength])); } @Test void whiteFarmerInvalidDestinationDown() // statt nach "oben" wird nach "unten" gegangen { Figure f = new Figure(); - assertFalse(f.moveAllowed(48,56, new int[Figure.fieldSize])); + assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 7 + 0, new int[Figure.fieldLength * Figure.fieldLength])); } } \ No newline at end of file From 70bd7023f2b549e06d25e03b0fe367b64e50eb1e Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 22:04:47 +0100 Subject: [PATCH 10/31] figure movement: invalid step size (>1) --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 7 ++++++- fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 2ae7a40..89083a5 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -16,7 +16,12 @@ public class Figure return false; } - if (dst >= Figure.fieldLength * 7 + 0) + if (dst >= Figure.fieldLength * 7 + 0) // weißer Bauer kein Schritt "runter" + { + return false; + } + + if (dst <= 32) // weißer Bauer nicht mehr als 1 Schritt nach "oben" { return false; } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 30b993b..59287fa 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -47,4 +47,11 @@ class FigureTest Figure f = new Figure(); assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 7 + 0, new int[Figure.fieldLength * Figure.fieldLength])); } + + @Test + void whiteFarmerInvalidDestinationUp() // mehr als 1 Schritt nach "oben" + { + Figure f = new Figure(); + assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 4 + 0, new int[Figure.fieldLength * Figure.fieldLength])); + } } \ No newline at end of file From 17e98ba3bd92cf0059373ef04954f82c4ece236b Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 22:06:34 +0100 Subject: [PATCH 11/31] refactored hard coded 32 --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 89083a5..3abd603 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -21,7 +21,7 @@ public class Figure return false; } - if (dst <= 32) // weißer Bauer nicht mehr als 1 Schritt nach "oben" + if (dst <= Figure.fieldLength * 4 + 0) // weißer Bauer nicht mehr als 1 Schritt nach "oben" { return false; } From fb6127732c3a6a0d8d7d3b205eff669e6244311a Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 22:13:14 +0100 Subject: [PATCH 12/31] figure movement test: white farmer valid var2 --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 3 ++- fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 3abd603..5a410d5 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -21,7 +21,8 @@ public class Figure return false; } - if (dst <= Figure.fieldLength * 4 + 0) // weißer Bauer nicht mehr als 1 Schritt nach "oben" + int stepSize = src / fieldLength - dst / fieldLength; + if (stepSize > 1) // weißer Bauer nicht mehr als 1 Schritt nach "oben" { return false; } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 59287fa..5ac89c6 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -34,6 +34,7 @@ class FigureTest assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 6 + 0, new int[Figure.fieldLength * Figure.fieldLength])); } + // weißer Bauer @Test void checkMoveWithValidDestination() { @@ -54,4 +55,11 @@ class FigureTest Figure f = new Figure(); assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 4 + 0, new int[Figure.fieldLength * Figure.fieldLength])); } + + @Test + void checkMoveWithValidDestinationVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach oben + { + Figure f = new Figure(); + assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 4, new int[Figure.fieldLength * Figure.fieldLength])); + } } \ No newline at end of file From 54f0424d7a3471e43b2e343bba5a3ef4b36765f5 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 22:20:17 +0100 Subject: [PATCH 13/31] figure movement test: white farmer invalid var2 --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 5 +++-- fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 5a410d5..00d4e1a 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -16,12 +16,13 @@ public class Figure return false; } - if (dst >= Figure.fieldLength * 7 + 0) // weißer Bauer kein Schritt "runter" + int stepSize = src / fieldLength - dst / fieldLength; + + if (stepSize <= 0) // weißer Bauer kein Schritt "runter" { return false; } - int stepSize = src / fieldLength - dst / fieldLength; if (stepSize > 1) // weißer Bauer nicht mehr als 1 Schritt nach "oben" { return false; diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 5ac89c6..8c040ec 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -62,4 +62,11 @@ class FigureTest Figure f = new Figure(); assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 4, new int[Figure.fieldLength * Figure.fieldLength])); } + + @Test + void whiteFarmerInvalidDestinationDownVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach unten + { + Figure f = new Figure(); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 4, new int[Figure.fieldLength * Figure.fieldLength])); + } } \ No newline at end of file From 28819ca78fdc18bbfbd9a372c7c928589f17e43c Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 22:35:19 +0100 Subject: [PATCH 14/31] refactored farmer --- .../src/main/java/de/fd/fh/FigureFarmer.java | 10 ++++++++++ fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 10 +++++----- 2 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java new file mode 100644 index 0000000..45830f3 --- /dev/null +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java @@ -0,0 +1,10 @@ +package de.fd.fh; + +public class FigureFarmer extends Figure +{ + @Override + public boolean moveAllowed(int src, int dst, int[] field) + { + return super.moveAllowed(src, dst, field); + } +} diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 8c040ec..2be91bb 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -38,35 +38,35 @@ class FigureTest @Test void checkMoveWithValidDestination() { - Figure f = new Figure(); + Figure f = new FigureFarmer(); assertTrue(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 5 + 0, new int[Figure.fieldLength * Figure.fieldLength])); } @Test void whiteFarmerInvalidDestinationDown() // statt nach "oben" wird nach "unten" gegangen { - Figure f = new Figure(); + Figure f = new FigureFarmer(); assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 7 + 0, new int[Figure.fieldLength * Figure.fieldLength])); } @Test void whiteFarmerInvalidDestinationUp() // mehr als 1 Schritt nach "oben" { - Figure f = new Figure(); + Figure f = new FigureFarmer(); assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 4 + 0, new int[Figure.fieldLength * Figure.fieldLength])); } @Test void checkMoveWithValidDestinationVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach oben { - Figure f = new Figure(); + Figure f = new FigureFarmer(); assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 4, new int[Figure.fieldLength * Figure.fieldLength])); } @Test void whiteFarmerInvalidDestinationDownVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach unten { - Figure f = new Figure(); + Figure f = new FigureFarmer(); assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 4, new int[Figure.fieldLength * Figure.fieldLength])); } } \ No newline at end of file From f38a7d5e2fa613bd4db35f77f35fea5b5bb512df Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 22:40:16 +0100 Subject: [PATCH 15/31] figure movement test: white rook valid up --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 7 +------ fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java | 7 +++++++ fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 8 ++++++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 00d4e1a..265338f 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -16,18 +16,13 @@ public class Figure return false; } - int stepSize = src / fieldLength - dst / fieldLength; + int stepSize = src / fieldLength - dst / fieldLength; // hoch/runter if (stepSize <= 0) // weißer Bauer kein Schritt "runter" { return false; } - if (stepSize > 1) // weißer Bauer nicht mehr als 1 Schritt nach "oben" - { - return false; - } - return true; } } diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java index 45830f3..ddddd9a 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java @@ -5,6 +5,13 @@ public class FigureFarmer extends Figure @Override public boolean moveAllowed(int src, int dst, int[] field) { + int stepSize = src / fieldLength - dst / fieldLength; // hoch/runter + + if (stepSize > 1) // weißer Bauer nicht mehr als 1 Schritt nach "oben" + { + return false; + } + return super.moveAllowed(src, dst, field); } } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 2be91bb..28b74b0 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -69,4 +69,12 @@ class FigureTest Figure f = new FigureFarmer(); assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 4, new int[Figure.fieldLength * Figure.fieldLength])); } + + // weißer Turm + @Test + void whiteRookValidMoveUp() + { + Figure f = new Figure(); + assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 0 + 4, new int[Figure.fieldLength * Figure.fieldLength])); + } } \ No newline at end of file From 2ee4adc8075bffdd560ff05a3c8772912d728700 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Thu, 14 Jan 2021 22:41:22 +0100 Subject: [PATCH 16/31] figure movement test: white rook valid down --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 7 ------- fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java | 5 +++++ fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 7 +++++++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 265338f..d592c94 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -16,13 +16,6 @@ public class Figure return false; } - int stepSize = src / fieldLength - dst / fieldLength; // hoch/runter - - if (stepSize <= 0) // weißer Bauer kein Schritt "runter" - { - return false; - } - return true; } } diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java index ddddd9a..1c21b0b 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java @@ -12,6 +12,11 @@ public class FigureFarmer extends Figure return false; } + if (stepSize <= 0) // weißer Bauer kein Schritt "runter" + { + return false; + } + return super.moveAllowed(src, dst, field); } } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 28b74b0..da24316 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -77,4 +77,11 @@ class FigureTest Figure f = new Figure(); assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 0 + 4, new int[Figure.fieldLength * Figure.fieldLength])); } + + @Test + void whiteRookValidMoveDown() + { + Figure f = new Figure(); + assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 7 + 4, new int[Figure.fieldLength * Figure.fieldLength])); + } } \ No newline at end of file From 32df0a0143115a6260a75f0cad292c31ca71af89 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Fri, 15 Jan 2021 17:00:49 +0100 Subject: [PATCH 17/31] renamed stepSize --- fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java index 1c21b0b..76ecf78 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java @@ -5,14 +5,14 @@ public class FigureFarmer extends Figure @Override public boolean moveAllowed(int src, int dst, int[] field) { - int stepSize = src / fieldLength - dst / fieldLength; // hoch/runter + int rowDiff = src / fieldLength - dst / fieldLength; // hoch/runter - if (stepSize > 1) // weißer Bauer nicht mehr als 1 Schritt nach "oben" + if (rowDiff > 1) // weißer Bauer nicht mehr als 1 Schritt nach "oben" { return false; } - if (stepSize <= 0) // weißer Bauer kein Schritt "runter" + if (rowDiff <= 0) // weißer Bauer kein Schritt "runter" { return false; } From f961d1639c2ad499da2bed30b6f040ffc33293d2 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Fri, 15 Jan 2021 17:19:16 +0100 Subject: [PATCH 18/31] figure movement test: white rook invalid step left/up --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 5 +++++ fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index d592c94..acb0778 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -16,6 +16,11 @@ public class Figure return false; } + if ((src - dst) / fieldLength > 0 && (src - dst) % fieldLength > 0) // diagonal nach links oben + { + return false; + } + return true; } } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index da24316..7320505 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -84,4 +84,11 @@ class FigureTest Figure f = new Figure(); assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 7 + 4, new int[Figure.fieldLength * Figure.fieldLength])); } + + @Test + void whiteRookInvalidMoveLeftUp() // diagonal nach links oben + { + Figure f = new Figure(); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 3, new int[Figure.fieldLength * Figure.fieldLength])); + } } \ No newline at end of file From b84ebafc1c1638d6d80f0d0bf8fefe42ec5ac88a Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Fri, 15 Jan 2021 17:21:39 +0100 Subject: [PATCH 19/31] refactored farmer tests --- .../test/java/de/fd/fh/FigureFarmerTest.java | 44 +++++++++++++++++++ .../src/test/java/de/fd/fh/FigureTest.java | 36 --------------- 2 files changed, 44 insertions(+), 36 deletions(-) create mode 100644 fh.fd.ci.client/src/test/java/de/fd/fh/FigureFarmerTest.java diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureFarmerTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureFarmerTest.java new file mode 100644 index 0000000..1405b85 --- /dev/null +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureFarmerTest.java @@ -0,0 +1,44 @@ +package de.fd.fh; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class FigureFarmerTest +{ + // weißer Bauer + @Test + void whiteFarmerValidDestination() + { + Figure f = new FigureFarmer(); + assertTrue(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 5 + 0, new int[Figure.fieldLength * Figure.fieldLength])); + } + + @Test + void whiteFarmerInvalidDestinationDown() // statt nach "oben" wird nach "unten" gegangen + { + Figure f = new FigureFarmer(); + assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 7 + 0, new int[Figure.fieldLength * Figure.fieldLength])); + } + + @Test + void whiteFarmerInvalidDestinationUp() // mehr als 1 Schritt nach "oben" + { + Figure f = new FigureFarmer(); + assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 4 + 0, new int[Figure.fieldLength * Figure.fieldLength])); + } + + @Test + void checkMoveWithValidDestinationVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach oben + { + Figure f = new FigureFarmer(); + assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 4, new int[Figure.fieldLength * Figure.fieldLength])); + } + + @Test + void whiteFarmerInvalidDestinationDownVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach unten + { + Figure f = new FigureFarmer(); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 4, new int[Figure.fieldLength * Figure.fieldLength])); + } +} \ No newline at end of file diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 7320505..901564e 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -34,42 +34,6 @@ class FigureTest assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 6 + 0, new int[Figure.fieldLength * Figure.fieldLength])); } - // weißer Bauer - @Test - void checkMoveWithValidDestination() - { - Figure f = new FigureFarmer(); - assertTrue(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 5 + 0, new int[Figure.fieldLength * Figure.fieldLength])); - } - - @Test - void whiteFarmerInvalidDestinationDown() // statt nach "oben" wird nach "unten" gegangen - { - Figure f = new FigureFarmer(); - assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 7 + 0, new int[Figure.fieldLength * Figure.fieldLength])); - } - - @Test - void whiteFarmerInvalidDestinationUp() // mehr als 1 Schritt nach "oben" - { - Figure f = new FigureFarmer(); - assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 4 + 0, new int[Figure.fieldLength * Figure.fieldLength])); - } - - @Test - void checkMoveWithValidDestinationVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach oben - { - Figure f = new FigureFarmer(); - assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 4, new int[Figure.fieldLength * Figure.fieldLength])); - } - - @Test - void whiteFarmerInvalidDestinationDownVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach unten - { - Figure f = new FigureFarmer(); - assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 4, new int[Figure.fieldLength * Figure.fieldLength])); - } - // weißer Turm @Test void whiteRookValidMoveUp() From 52ece296a7d4c204fdd8843c37be7a49c912a4f5 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Fri, 15 Jan 2021 17:33:13 +0100 Subject: [PATCH 20/31] figure movement: bug fix rowDiff --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index acb0778..9e6444e 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -16,7 +16,7 @@ public class Figure return false; } - if ((src - dst) / fieldLength > 0 && (src - dst) % fieldLength > 0) // diagonal nach links oben + if (src / fieldLength - dst / fieldLength > 0 && src % fieldLength - dst % fieldLength > 0) // diagonal nach links oben { return false; } From cdcdfe68d1bb6cf41fdb07d740cf50e4a60bcffd Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Fri, 15 Jan 2021 17:34:49 +0100 Subject: [PATCH 21/31] figure movement test: white rook invalid step right/up --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 5 +++++ fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 9e6444e..87f0b1a 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -21,6 +21,11 @@ public class Figure return false; } + if (src / 8 - dst / 8 > 0 && src % 8 - dst % 8 < 0) // diagonal nach rechts oben + { + return false; + } + return true; } } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 901564e..b21b68b 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -55,4 +55,11 @@ class FigureTest Figure f = new Figure(); assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 3, new int[Figure.fieldLength * Figure.fieldLength])); } + + @Test + void whiteRookInvalidMoveRightUp() // diagonal nach rechts oben + { + Figure f = new Figure(); + assertFalse(f.moveAllowed(36, 29, new int[8 * 8])); + } } \ No newline at end of file From 4abf8f3a1d946f385de474aafa032523030541d9 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Fri, 15 Jan 2021 17:40:24 +0100 Subject: [PATCH 22/31] refactored nums --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 2 +- fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 87f0b1a..9aabba5 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -21,7 +21,7 @@ public class Figure return false; } - if (src / 8 - dst / 8 > 0 && src % 8 - dst % 8 < 0) // diagonal nach rechts oben + if (src / fieldLength - dst / fieldLength > 0 && src % fieldLength - dst % fieldLength < 0) // diagonal nach rechts oben { return false; } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index b21b68b..4201262 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -60,6 +60,6 @@ class FigureTest void whiteRookInvalidMoveRightUp() // diagonal nach rechts oben { Figure f = new Figure(); - assertFalse(f.moveAllowed(36, 29, new int[8 * 8])); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 5, new int[Figure.fieldLength * Figure.fieldLength])); } } \ No newline at end of file From e0f40bc559db4c59c404b4ac10eeaffcb8e567e8 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Fri, 15 Jan 2021 17:47:03 +0100 Subject: [PATCH 23/31] figure movement test: white rook invalid step left/down --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 5 +++++ fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 9aabba5..8d39fdd 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -26,6 +26,11 @@ public class Figure return false; } + if (src / 8 - dst / 8 < 0 && src % 8 - dst % 8 > 0) // diagonal nach rechts oben + { + return false; + } + return true; } } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 4201262..e451411 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -62,4 +62,11 @@ class FigureTest Figure f = new Figure(); assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 5, new int[Figure.fieldLength * Figure.fieldLength])); } + + @Test + void whiteRookInvalidMoveLeftDown() // diagonal nach links unten + { + Figure f = new Figure(); + assertFalse(f.moveAllowed(36, 43, new int[8 * 8])); + } } \ No newline at end of file From e82471caa586e0c4d3fdabb9b2d5f577b78f12d7 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Fri, 15 Jan 2021 17:48:02 +0100 Subject: [PATCH 24/31] renamed nums --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 2 +- fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 8d39fdd..6f0f751 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -26,7 +26,7 @@ public class Figure return false; } - if (src / 8 - dst / 8 < 0 && src % 8 - dst % 8 > 0) // diagonal nach rechts oben + if (src / fieldLength - dst / fieldLength < 0 && src % fieldLength - dst % fieldLength > 0) // diagonal nach rechts oben { return false; } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index e451411..2406f7e 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -67,6 +67,6 @@ class FigureTest void whiteRookInvalidMoveLeftDown() // diagonal nach links unten { Figure f = new Figure(); - assertFalse(f.moveAllowed(36, 43, new int[8 * 8])); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 3, new int[Figure.fieldLength * Figure.fieldLength])); } } \ No newline at end of file From 318d2c2e5912287733febffcc44c2d9914716a70 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Fri, 15 Jan 2021 17:49:30 +0100 Subject: [PATCH 25/31] figure movement test: white rook invalid step right/down --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 5 +++++ fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 6f0f751..642ae9a 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -31,6 +31,11 @@ public class Figure return false; } + if (src / 8 - dst / 8 < 0 && src % 8 - dst % 8 < 0) // diagonal nach rechts unten + { + return false; + } + return true; } } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 2406f7e..be95a20 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -69,4 +69,11 @@ class FigureTest Figure f = new Figure(); assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 3, new int[Figure.fieldLength * Figure.fieldLength])); } + + @Test + void whiteRookInvalidMoveRightDown() // diagonal nach rechts unten + { + Figure f = new Figure(); + assertFalse(f.moveAllowed(36, 45, new int[8 * 8])); + } } \ No newline at end of file From 354d2fc4d6cdf22d015370295f2af771835d3d10 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Fri, 15 Jan 2021 17:50:29 +0100 Subject: [PATCH 26/31] refactored nums --- fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java | 2 +- fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index 642ae9a..f2c6a43 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -31,7 +31,7 @@ public class Figure return false; } - if (src / 8 - dst / 8 < 0 && src % 8 - dst % 8 < 0) // diagonal nach rechts unten + if (src / fieldLength - dst / fieldLength < 0 && src % fieldLength - dst % fieldLength < 0) // diagonal nach rechts unten { return false; } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index be95a20..c3dcc90 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -74,6 +74,6 @@ class FigureTest void whiteRookInvalidMoveRightDown() // diagonal nach rechts unten { Figure f = new Figure(); - assertFalse(f.moveAllowed(36, 45, new int[8 * 8])); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 5, new int[Figure.fieldLength * Figure.fieldLength])); } } \ No newline at end of file From efedb43ce673db5a893429ce12f91f1c4786d623 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Fri, 15 Jan 2021 17:54:50 +0100 Subject: [PATCH 27/31] new class FigureRook --- .../src/main/java/de/fd/fh/Figure.java | 20 -------- .../src/main/java/de/fd/fh/FigureRook.java | 30 +++++++++++ .../test/java/de/fd/fh/FigureRookTest.java | 51 +++++++++++++++++++ .../src/test/java/de/fd/fh/FigureTest.java | 43 ---------------- 4 files changed, 81 insertions(+), 63 deletions(-) create mode 100644 fh.fd.ci.client/src/main/java/de/fd/fh/FigureRook.java create mode 100644 fh.fd.ci.client/src/test/java/de/fd/fh/FigureRookTest.java diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index f2c6a43..d592c94 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -16,26 +16,6 @@ public class Figure return false; } - if (src / fieldLength - dst / fieldLength > 0 && src % fieldLength - dst % fieldLength > 0) // diagonal nach links oben - { - return false; - } - - if (src / fieldLength - dst / fieldLength > 0 && src % fieldLength - dst % fieldLength < 0) // diagonal nach rechts oben - { - return false; - } - - if (src / fieldLength - dst / fieldLength < 0 && src % fieldLength - dst % fieldLength > 0) // diagonal nach rechts oben - { - return false; - } - - if (src / fieldLength - dst / fieldLength < 0 && src % fieldLength - dst % fieldLength < 0) // diagonal nach rechts unten - { - return false; - } - return true; } } diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureRook.java b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureRook.java new file mode 100644 index 0000000..02b622b --- /dev/null +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureRook.java @@ -0,0 +1,30 @@ +package de.fd.fh; + +public class FigureRook extends Figure +{ + @Override + public boolean moveAllowed(int src, int dst, int[] field) + { + if (src / fieldLength - dst / fieldLength > 0 && src % fieldLength - dst % fieldLength > 0) // diagonal nach links oben + { + return false; + } + + if (src / fieldLength - dst / fieldLength > 0 && src % fieldLength - dst % fieldLength < 0) // diagonal nach rechts oben + { + return false; + } + + if (src / fieldLength - dst / fieldLength < 0 && src % fieldLength - dst % fieldLength > 0) // diagonal nach rechts oben + { + return false; + } + + if (src / fieldLength - dst / fieldLength < 0 && src % fieldLength - dst % fieldLength < 0) // diagonal nach rechts unten + { + return false; + } + + return super.moveAllowed(src, dst, field); + } +} diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureRookTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureRookTest.java new file mode 100644 index 0000000..b2f73f1 --- /dev/null +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureRookTest.java @@ -0,0 +1,51 @@ +package de.fd.fh; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class FigureRookTest +{ + // weißer Turm + @Test + void whiteRookValidMoveUp() + { + Figure f = new FigureRook(); + assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 0 + 4, new int[Figure.fieldLength * Figure.fieldLength])); + } + + @Test + void whiteRookValidMoveDown() + { + Figure f = new FigureRook(); + assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 7 + 4, new int[Figure.fieldLength * Figure.fieldLength])); + } + + @Test + void whiteRookInvalidMoveLeftUp() // diagonal nach links oben + { + Figure f = new FigureRook(); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 3, new int[Figure.fieldLength * Figure.fieldLength])); + } + + @Test + void whiteRookInvalidMoveRightUp() // diagonal nach rechts oben + { + Figure f = new FigureRook(); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 5, new int[Figure.fieldLength * Figure.fieldLength])); + } + + @Test + void whiteRookInvalidMoveLeftDown() // diagonal nach links unten + { + Figure f = new FigureRook(); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 3, new int[Figure.fieldLength * Figure.fieldLength])); + } + + @Test + void whiteRookInvalidMoveRightDown() // diagonal nach rechts unten + { + Figure f = new FigureRook(); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 5, new int[Figure.fieldLength * Figure.fieldLength])); + } +} \ No newline at end of file diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index c3dcc90..60271c1 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -33,47 +33,4 @@ class FigureTest Figure f = new Figure(); assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 6 + 0, new int[Figure.fieldLength * Figure.fieldLength])); } - - // weißer Turm - @Test - void whiteRookValidMoveUp() - { - Figure f = new Figure(); - assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 0 + 4, new int[Figure.fieldLength * Figure.fieldLength])); - } - - @Test - void whiteRookValidMoveDown() - { - Figure f = new Figure(); - assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 7 + 4, new int[Figure.fieldLength * Figure.fieldLength])); - } - - @Test - void whiteRookInvalidMoveLeftUp() // diagonal nach links oben - { - Figure f = new Figure(); - assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 3, new int[Figure.fieldLength * Figure.fieldLength])); - } - - @Test - void whiteRookInvalidMoveRightUp() // diagonal nach rechts oben - { - Figure f = new Figure(); - assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 5, new int[Figure.fieldLength * Figure.fieldLength])); - } - - @Test - void whiteRookInvalidMoveLeftDown() // diagonal nach links unten - { - Figure f = new Figure(); - assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 3, new int[Figure.fieldLength * Figure.fieldLength])); - } - - @Test - void whiteRookInvalidMoveRightDown() // diagonal nach rechts unten - { - Figure f = new Figure(); - assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 5, new int[Figure.fieldLength * Figure.fieldLength])); - } } \ No newline at end of file From 6bb0b903aa12687bc1e95007795e64cae5389071 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Fri, 15 Jan 2021 18:17:36 +0100 Subject: [PATCH 28/31] refactored rowDiff / relStep --- .../src/main/java/de/fd/fh/FigureRook.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureRook.java b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureRook.java index 02b622b..968180f 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureRook.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureRook.java @@ -5,22 +5,25 @@ public class FigureRook extends Figure @Override public boolean moveAllowed(int src, int dst, int[] field) { - if (src / fieldLength - dst / fieldLength > 0 && src % fieldLength - dst % fieldLength > 0) // diagonal nach links oben + int rowDiff = src / fieldLength - dst / fieldLength; // hoch/runter + int relStep = src % fieldLength - dst % fieldLength; // links//rechts + + if (rowDiff > 0 && relStep > 0) // diagonal nach links oben { return false; } - if (src / fieldLength - dst / fieldLength > 0 && src % fieldLength - dst % fieldLength < 0) // diagonal nach rechts oben + if (rowDiff > 0 && relStep < 0) // diagonal nach rechts oben { return false; } - if (src / fieldLength - dst / fieldLength < 0 && src % fieldLength - dst % fieldLength > 0) // diagonal nach rechts oben + if (rowDiff < 0 && relStep > 0) // diagonal nach rechts oben { return false; } - if (src / fieldLength - dst / fieldLength < 0 && src % fieldLength - dst % fieldLength < 0) // diagonal nach rechts unten + if (rowDiff < 0 && relStep < 0) // diagonal nach rechts unten { return false; } From 0025ffe542a2750acb72990d9261710a76ab9c48 Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Sat, 30 Jan 2021 11:54:40 +0100 Subject: [PATCH 29/31] gradle utf-8 test --- build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index e2ba4fd..fc39fec 100644 --- a/build.gradle +++ b/build.gradle @@ -11,8 +11,9 @@ repositories { } subprojects { - apply plugin: 'java' + compileJava {options.encoding = "UTF-8"} + compileTestJava {options.encoding = "UTF-8"} sourceCompatibility = JavaVersion.VERSION_11 repositories { mavenCentral() From e6330b643e3b77eb486fbd237f099f4bae9ee30b Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Sat, 30 Jan 2021 12:16:57 +0100 Subject: [PATCH 30/31] updated Jenkins + gradle files --- Jenkinsfile | 2 +- build.gradle | 15 ++++++++------- fh.fd.ci.client/build.gradle | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 13136ca..6d2ec8f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -40,7 +40,7 @@ pipeline { stage('Package') { steps { - sh "./gradlew -Pversion='${REVISION}' bootJar -x test" + sh "./gradlew -Pversion='${REVISION}' jar -x test" } } } diff --git a/build.gradle b/build.gradle index fc39fec..f65fcce 100644 --- a/build.gradle +++ b/build.gradle @@ -11,6 +11,7 @@ repositories { } subprojects { + apply plugin: 'java' compileJava {options.encoding = "UTF-8"} compileTestJava {options.encoding = "UTF-8"} @@ -20,19 +21,19 @@ subprojects { jcenter() } - test { - useJUnitPlatform() - } - dependencies { compileOnly 'org.projectlombok:lombok:1.18.16' annotationProcessor 'org.projectlombok:lombok:1.18.16' - testCompileOnly 'org.projectlombok:lombok:1.18.16' - testAnnotationProcessor 'org.projectlombok:lombok:1.18.16' - testImplementation('org.junit.jupiter:junit-jupiter:5.7.0') testImplementation('org.mockito:mockito-core:3.7.0') testImplementation('org.hamcrest:hamcrest-core:2.2') + + testCompileOnly 'org.projectlombok:lombok:1.18.16' + testAnnotationProcessor 'org.projectlombok:lombok:1.18.16' + } + + test { + useJUnitPlatform() } } diff --git a/fh.fd.ci.client/build.gradle b/fh.fd.ci.client/build.gradle index e2d7f57..2e0dd87 100644 --- a/fh.fd.ci.client/build.gradle +++ b/fh.fd.ci.client/build.gradle @@ -1,6 +1,6 @@ plugins { id 'application' - id 'org.openjfx.javafxplugin' version '0.0.9' + id 'org.openjfx.javafxplugin' version '0.0.8' } mainClassName = 'de.fd.fh.ClientApp' From 5d52b6b876b89a19c535fa7bc6d13d08b0b6e0aa Mon Sep 17 00:00:00 2001 From: Julius Dewender Date: Sun, 31 Jan 2021 11:22:28 +0100 Subject: [PATCH 31/31] refactored moveAllowed() --- .../src/main/java/de/fd/fh/Figure.java | 4 +++- .../src/main/java/de/fd/fh/FigureFarmer.java | 6 ++++- .../src/main/java/de/fd/fh/FigureRook.java | 5 +++- .../test/java/de/fd/fh/FigureFarmerTest.java | 20 ++++++++++++---- .../test/java/de/fd/fh/FigureRookTest.java | 24 ++++++++++++++----- .../src/test/java/de/fd/fh/FigureTest.java | 16 +++++++++---- 6 files changed, 57 insertions(+), 18 deletions(-) diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java index d592c94..745d961 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/Figure.java @@ -4,7 +4,7 @@ public class Figure { public static final int fieldLength = 8; - public boolean moveAllowed(int src, int dst, int[] field) + public boolean moveAllowed(int src, int dst, Figure[] field) { if (src == dst) { @@ -16,6 +16,8 @@ public class Figure return false; } + // TODO: im Falle von Schach muss Zug Situation auflösen, sonst nicht möglich + return true; } } diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java index 76ecf78..49ec0be 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureFarmer.java @@ -3,7 +3,7 @@ package de.fd.fh; public class FigureFarmer extends Figure { @Override - public boolean moveAllowed(int src, int dst, int[] field) + public boolean moveAllowed(int src, int dst, Figure[] field) { int rowDiff = src / fieldLength - dst / fieldLength; // hoch/runter @@ -17,6 +17,10 @@ public class FigureFarmer extends Figure return false; } + // TODO: nur ein Schritt nach oben, wenn auf Ziel keine Figur + // TODO: links, rechts verboten + // TODO: Diagonal links/rechts hoch, wenn Figur geschlagen werden kann (Figur auf Ziel) + return super.moveAllowed(src, dst, field); } } diff --git a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureRook.java b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureRook.java index 968180f..545eccc 100644 --- a/fh.fd.ci.client/src/main/java/de/fd/fh/FigureRook.java +++ b/fh.fd.ci.client/src/main/java/de/fd/fh/FigureRook.java @@ -3,7 +3,7 @@ package de.fd.fh; public class FigureRook extends Figure { @Override - public boolean moveAllowed(int src, int dst, int[] field) + public boolean moveAllowed(int src, int dst, Figure[] field) { int rowDiff = src / fieldLength - dst / fieldLength; // hoch/runter int relStep = src % fieldLength - dst % fieldLength; // links//rechts @@ -28,6 +28,9 @@ public class FigureRook extends Figure return false; } + // TODO: keine Figuren auf dem Weg "überspringen" + // TODO: falls Figur auf Ziel und keine Figuren auf Weg -> Figur schlagen + return super.moveAllowed(src, dst, field); } } diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureFarmerTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureFarmerTest.java index 1405b85..9e17ae4 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureFarmerTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureFarmerTest.java @@ -11,34 +11,44 @@ class FigureFarmerTest void whiteFarmerValidDestination() { Figure f = new FigureFarmer(); - assertTrue(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 5 + 0, new int[Figure.fieldLength * Figure.fieldLength])); + assertTrue(f.moveAllowed(Figure.fieldLength * 6 + 0, + Figure.fieldLength * 5 + 0, + new Figure[Figure.fieldLength * Figure.fieldLength])); } @Test void whiteFarmerInvalidDestinationDown() // statt nach "oben" wird nach "unten" gegangen { Figure f = new FigureFarmer(); - assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 7 + 0, new int[Figure.fieldLength * Figure.fieldLength])); + assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, + Figure.fieldLength * 7 + 0, + new Figure[Figure.fieldLength * Figure.fieldLength])); } @Test void whiteFarmerInvalidDestinationUp() // mehr als 1 Schritt nach "oben" { Figure f = new FigureFarmer(); - assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 4 + 0, new int[Figure.fieldLength * Figure.fieldLength])); + assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, + Figure.fieldLength * 4 + 0, + new Figure[Figure.fieldLength * Figure.fieldLength])); } @Test void checkMoveWithValidDestinationVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach oben { Figure f = new FigureFarmer(); - assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 4, new int[Figure.fieldLength * Figure.fieldLength])); + assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, + Figure.fieldLength * 3 + 4, + new Figure[Figure.fieldLength * Figure.fieldLength])); } @Test void whiteFarmerInvalidDestinationDownVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach unten { Figure f = new FigureFarmer(); - assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 4, new int[Figure.fieldLength * Figure.fieldLength])); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, + Figure.fieldLength * 5 + 4, + new Figure[Figure.fieldLength * Figure.fieldLength])); } } \ No newline at end of file diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureRookTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureRookTest.java index b2f73f1..526664e 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureRookTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureRookTest.java @@ -11,41 +11,53 @@ class FigureRookTest void whiteRookValidMoveUp() { Figure f = new FigureRook(); - assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 0 + 4, new int[Figure.fieldLength * Figure.fieldLength])); + assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, + Figure.fieldLength * 0 + 4, + new Figure[Figure.fieldLength * Figure.fieldLength])); } @Test void whiteRookValidMoveDown() { Figure f = new FigureRook(); - assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 7 + 4, new int[Figure.fieldLength * Figure.fieldLength])); + assertTrue(f.moveAllowed(Figure.fieldLength * 4 + 4, + Figure.fieldLength * 7 + 4, + new Figure[Figure.fieldLength * Figure.fieldLength])); } @Test void whiteRookInvalidMoveLeftUp() // diagonal nach links oben { Figure f = new FigureRook(); - assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 3, new int[Figure.fieldLength * Figure.fieldLength])); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, + Figure.fieldLength * 3 + 3, + new Figure[Figure.fieldLength * Figure.fieldLength])); } @Test void whiteRookInvalidMoveRightUp() // diagonal nach rechts oben { Figure f = new FigureRook(); - assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 3 + 5, new int[Figure.fieldLength * Figure.fieldLength])); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, + Figure.fieldLength * 3 + 5, + new Figure[Figure.fieldLength * Figure.fieldLength])); } @Test void whiteRookInvalidMoveLeftDown() // diagonal nach links unten { Figure f = new FigureRook(); - assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 3, new int[Figure.fieldLength * Figure.fieldLength])); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, + Figure.fieldLength * 5 + 3, + new Figure[Figure.fieldLength * Figure.fieldLength])); } @Test void whiteRookInvalidMoveRightDown() // diagonal nach rechts unten { Figure f = new FigureRook(); - assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, Figure.fieldLength * 5 + 5, new int[Figure.fieldLength * Figure.fieldLength])); + assertFalse(f.moveAllowed(Figure.fieldLength * 4 + 4, + Figure.fieldLength * 5 + 5, + new Figure[Figure.fieldLength * Figure.fieldLength])); } } \ No newline at end of file diff --git a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java index 60271c1..49ea43c 100644 --- a/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java +++ b/fh.fd.ci.client/src/test/java/de/fd/fh/FigureTest.java @@ -10,27 +10,35 @@ class FigureTest void checkMoveWithInvalidFieldSmall() // Feldgröße sollte 8*8 betragen { Figure f = new Figure(); - assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 5 + 0, new int[0])); + assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, + Figure.fieldLength * 5 + 0, + new Figure[0])); } @Test void checkMoveWithInvalidFieldBigger() // Feldgröße sollte 8*8 betragen { Figure f = new Figure(); - assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 5 + 0, new int[8*9])); + assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, + Figure.fieldLength * 5 + 0, + new Figure[8*9])); } @Test void checkMoveWithInvalidFieldCorrect() // Feldgröße sollte 8*8 betragen { Figure f = new Figure(); - assertTrue(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 5 + 0, new int[Figure.fieldLength * Figure.fieldLength])); + assertTrue(f.moveAllowed(Figure.fieldLength * 6 + 0, + Figure.fieldLength * 5 + 0, + new Figure[Figure.fieldLength * Figure.fieldLength])); } @Test void checkMoveWithoutNewDestination() { Figure f = new Figure(); - assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, Figure.fieldLength * 6 + 0, new int[Figure.fieldLength * Figure.fieldLength])); + assertFalse(f.moveAllowed(Figure.fieldLength * 6 + 0, + Figure.fieldLength * 6 + 0, + new Figure[Figure.fieldLength * Figure.fieldLength])); } } \ No newline at end of file