You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.1 KiB
67 lines
2.1 KiB
package de.fd.fh;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
import org.junit.jupiter.params.ParameterizedTest;
|
|
import org.junit.jupiter.params.provider.CsvSource;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
class FigureFarmerTest
|
|
{
|
|
Figure[] field = new Figure[Figure.fieldLength * Figure.fieldLength];
|
|
|
|
// weißer Bauer
|
|
@ParameterizedTest
|
|
// row (src), col (src), row (dst), col (dst)
|
|
@CsvSource({
|
|
"6, 0, 5, 0" // a2 -> a3
|
|
})
|
|
void whiteFarmerValidDestination(int srcRow, int srcCol, int dstRow, int dstCol)
|
|
{
|
|
int src = Figure.fieldLength * srcRow + srcCol;
|
|
int dst = Figure.fieldLength * dstRow + dstCol;
|
|
|
|
Figure f = new FigureFarmer(FigureFarmer.Color.White);
|
|
assertTrue(f.moveAllowed(src, dst, field));
|
|
}
|
|
|
|
@Test
|
|
void whiteFarmerInvalidDestinationDown() // statt nach "oben" wird nach "unten" gegangen
|
|
{
|
|
int src = Figure.fieldLength * 6 + 0;
|
|
int dst = Figure.fieldLength * 7 + 0;
|
|
|
|
Figure f = new FigureFarmer(FigureFarmer.Color.White);
|
|
assertFalse(f.moveAllowed(src, dst, field));
|
|
}
|
|
|
|
@Test
|
|
void whiteFarmerInvalidDestinationUp() // mehr als 1 Schritt nach "oben"
|
|
{
|
|
int src = Figure.fieldLength * 6 + 0;
|
|
int dst = Figure.fieldLength * 4 + 0;
|
|
|
|
Figure f = new FigureFarmer(FigureFarmer.Color.White);
|
|
assertFalse(f.moveAllowed(src, dst, field));
|
|
}
|
|
|
|
@Test
|
|
void checkMoveWithValidDestinationVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach oben
|
|
{
|
|
int src = Figure.fieldLength * 4 + 4;
|
|
int dst = Figure.fieldLength * 3 + 4;
|
|
|
|
Figure f = new FigureFarmer(FigureFarmer.Color.White);
|
|
assertTrue(f.moveAllowed(src, dst, field));
|
|
}
|
|
|
|
@Test
|
|
void whiteFarmerInvalidDestinationDownVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach unten
|
|
{
|
|
int src = Figure.fieldLength * 4 + 4;
|
|
int dst = Figure.fieldLength * 5 + 4;
|
|
|
|
Figure f = new FigureFarmer(FigureFarmer.Color.White);
|
|
assertFalse(f.moveAllowed(src, dst, field));
|
|
}
|
|
}
|