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.

71 lines
2.3 KiB

  1. package de.fd.fh;
  2. import org.junit.jupiter.api.Test;
  3. import org.junit.jupiter.params.ParameterizedTest;
  4. import org.junit.jupiter.params.provider.CsvSource;
  5. import static org.junit.jupiter.api.Assertions.*;
  6. class FigureFarmerTest
  7. {
  8. Figure[] field = new Figure[Figure.fieldLength * Figure.fieldLength];
  9. // weißer Bauer
  10. @ParameterizedTest
  11. // row (src), col (src), row (dst), col (dst)
  12. @CsvSource({
  13. "6, 0, 5, 0" // a2 -> a3
  14. })
  15. void whiteFarmerValidDestination(int srcRow, int srcCol, int dstRow, int dstCol)
  16. {
  17. int src = Figure.fieldLength * srcRow + srcCol;
  18. int dst = Figure.fieldLength * dstRow + dstCol;
  19. Figure f = new FigureFarmer(FigureFarmer.Color.White);
  20. assertTrue(f.moveAllowed(src, dst, field));
  21. }
  22. // weißer Bauer
  23. @ParameterizedTest
  24. // row (src), col (src), row (dst), col (dst)
  25. @CsvSource({
  26. "6, 0, 7, 0" // a2 -> a1
  27. })
  28. void whiteFarmerInvalidDestinationDown(int srcRow, int srcCol, int dstRow, int dstCol) // statt nach "oben" wird nach "unten" gegangen
  29. {
  30. int src = Figure.fieldLength * srcRow + srcCol;
  31. int dst = Figure.fieldLength * dstRow + dstCol;
  32. Figure f = new FigureFarmer(FigureFarmer.Color.White);
  33. assertFalse(f.moveAllowed(src, dst, field));
  34. }
  35. @Test
  36. void whiteFarmerInvalidDestinationUp() // mehr als 1 Schritt nach "oben"
  37. {
  38. int src = Figure.fieldLength * 6 + 0;
  39. int dst = Figure.fieldLength * 4 + 0;
  40. Figure f = new FigureFarmer(FigureFarmer.Color.White);
  41. assertFalse(f.moveAllowed(src, dst, field));
  42. }
  43. @Test
  44. void checkMoveWithValidDestinationVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach oben
  45. {
  46. int src = Figure.fieldLength * 4 + 4;
  47. int dst = Figure.fieldLength * 3 + 4;
  48. Figure f = new FigureFarmer(FigureFarmer.Color.White);
  49. assertTrue(f.moveAllowed(src, dst, field));
  50. }
  51. @Test
  52. void whiteFarmerInvalidDestinationDownVar2() // Bauer (w) steht in der Mitte vom Feld und geht 1 nach unten
  53. {
  54. int src = Figure.fieldLength * 4 + 4;
  55. int dst = Figure.fieldLength * 5 + 4;
  56. Figure f = new FigureFarmer(FigureFarmer.Color.White);
  57. assertFalse(f.moveAllowed(src, dst, field));
  58. }
  59. }