lots of exercises in java... from https://github.com/exercism/java

RobotTest.java 7.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. import org.junit.Ignore;
  2. import org.junit.Test;
  3. import static org.junit.Assert.assertEquals;
  4. public class RobotTest {
  5. @Test
  6. public void testRobotIsCreatedWithCorrectInitialPosition() {
  7. final GridPosition initialGridPosition = new GridPosition(0, 0);
  8. final Robot robot = new Robot(initialGridPosition, Orientation.NORTH);
  9. assertEquals(robot.getGridPosition(), initialGridPosition);
  10. }
  11. @Ignore("Remove to run test")
  12. @Test
  13. public void testRobotIsCreatedWithCorrectInitialOrientation() {
  14. final Orientation initialOrientation = Orientation.NORTH;
  15. final Robot robot = new Robot(new GridPosition(0, 0), initialOrientation);
  16. assertEquals(robot.getOrientation(), initialOrientation);
  17. }
  18. @Ignore("Remove to run test")
  19. @Test
  20. public void testTurningRightDoesNotChangePosition() {
  21. final GridPosition initialGridPosition = new GridPosition(0, 0);
  22. final Robot robot = new Robot(initialGridPosition, Orientation.NORTH);
  23. robot.turnRight();
  24. assertEquals(robot.getGridPosition(), initialGridPosition);
  25. }
  26. @Ignore("Remove to run test")
  27. @Test
  28. public void testTurningRightCorrectlyChangesOrientationFromNorthToEast() {
  29. final Robot robot = new Robot(new GridPosition(0, 0), Orientation.NORTH);
  30. robot.turnRight();
  31. final Orientation expectedOrientation = Orientation.EAST;
  32. assertEquals(robot.getOrientation(), expectedOrientation);
  33. }
  34. @Ignore("Remove to run test")
  35. @Test
  36. public void testTurningRightCorrectlyChangesOrientationFromEastToSouth() {
  37. final Robot robot = new Robot(new GridPosition(0, 0), Orientation.EAST);
  38. robot.turnRight();
  39. final Orientation expectedOrientation = Orientation.SOUTH;
  40. assertEquals(robot.getOrientation(), expectedOrientation);
  41. }
  42. @Ignore("Remove to run test")
  43. @Test
  44. public void testTurningRightCorrectlyChangesOrientationFromSouthToWest() {
  45. final Robot robot = new Robot(new GridPosition(0, 0), Orientation.SOUTH);
  46. robot.turnRight();
  47. final Orientation expectedOrientation = Orientation.WEST;
  48. assertEquals(robot.getOrientation(), expectedOrientation);
  49. }
  50. @Ignore("Remove to run test")
  51. @Test
  52. public void testTurningRightCorrectlyChangesOrientationFromWestToNorth() {
  53. final Robot robot = new Robot(new GridPosition(0, 0), Orientation.WEST);
  54. robot.turnRight();
  55. final Orientation expectedOrientation = Orientation.NORTH;
  56. assertEquals(robot.getOrientation(), expectedOrientation);
  57. }
  58. @Ignore("Remove to run test")
  59. @Test
  60. public void testTurningLeftDoesNotChangePosition() {
  61. final GridPosition initialGridPosition = new GridPosition(0, 0);
  62. final Robot robot = new Robot(initialGridPosition, Orientation.NORTH);
  63. robot.turnLeft();
  64. assertEquals(robot.getGridPosition(), initialGridPosition);
  65. }
  66. @Ignore("Remove to run test")
  67. @Test
  68. public void testTurningLeftCorrectlyChangesOrientationFromNorthToWest() {
  69. final Robot robot = new Robot(new GridPosition(0, 0), Orientation.NORTH);
  70. robot.turnLeft();
  71. final Orientation expectedOrientation = Orientation.WEST;
  72. assertEquals(robot.getOrientation(), expectedOrientation);
  73. }
  74. @Ignore("Remove to run test")
  75. @Test
  76. public void testTurningLeftCorrectlyChangesOrientationFromWestToSouth() {
  77. final Robot robot = new Robot(new GridPosition(0, 0), Orientation.WEST);
  78. robot.turnLeft();
  79. final Orientation expectedOrientation = Orientation.SOUTH;
  80. assertEquals(robot.getOrientation(), expectedOrientation);
  81. }
  82. @Ignore("Remove to run test")
  83. @Test
  84. public void testTurningLeftCorrectlyChangesOrientationFromSouthToEast() {
  85. final Robot robot = new Robot(new GridPosition(0, 0), Orientation.SOUTH);
  86. robot.turnLeft();
  87. final Orientation expectedOrientation = Orientation.EAST;
  88. assertEquals(robot.getOrientation(), expectedOrientation);
  89. }
  90. @Ignore("Remove to run test")
  91. @Test
  92. public void testTurningLeftCorrectlyChangesOrientationFromEastToNorth() {
  93. final Robot robot = new Robot(new GridPosition(0, 0), Orientation.EAST);
  94. robot.turnLeft();
  95. final Orientation expectedOrientation = Orientation.NORTH;
  96. assertEquals(robot.getOrientation(), expectedOrientation);
  97. }
  98. @Ignore("Remove to run test")
  99. @Test
  100. public void testAdvancingDoesNotChangeOrientation() {
  101. final Orientation initialOrientation = Orientation.NORTH;
  102. final Robot robot = new Robot(new GridPosition(0, 0), initialOrientation);
  103. robot.advance();
  104. assertEquals(robot.getOrientation(), initialOrientation);
  105. }
  106. @Ignore("Remove to run test")
  107. @Test
  108. public void testAdvancingWhenFacingNorthIncreasesYCoordinateByOne() {
  109. final Robot robot = new Robot(new GridPosition(0, 0), Orientation.NORTH);
  110. robot.advance();
  111. final GridPosition expectedGridPosition = new GridPosition(0, 1);
  112. assertEquals(robot.getGridPosition(), expectedGridPosition);
  113. }
  114. @Ignore("Remove to run test")
  115. @Test
  116. public void testAdvancingWhenFacingSouthDecreasesYCoordinateByOne() {
  117. final Robot robot = new Robot(new GridPosition(0, 0), Orientation.SOUTH);
  118. robot.advance();
  119. final GridPosition expectedGridPosition = new GridPosition(0, -1);
  120. assertEquals(robot.getGridPosition(), expectedGridPosition);
  121. }
  122. @Ignore("Remove to run test")
  123. @Test
  124. public void testAdvancingWhenFacingEastIncreasesXCoordinateByOne() {
  125. final Robot robot = new Robot(new GridPosition(0, 0), Orientation.EAST);
  126. robot.advance();
  127. final GridPosition expectedGridPosition = new GridPosition(1, 0);
  128. assertEquals(robot.getGridPosition(), expectedGridPosition);
  129. }
  130. @Ignore("Remove to run test")
  131. @Test
  132. public void testAdvancingWhenFacingWestDecreasesXCoordinateByOne() {
  133. final Robot robot = new Robot(new GridPosition(0, 0), Orientation.WEST);
  134. robot.advance();
  135. final GridPosition expectedGridPosition = new GridPosition(-1, 0);
  136. assertEquals(robot.getGridPosition(), expectedGridPosition);
  137. }
  138. @Ignore("Remove to run test")
  139. @Test
  140. public void testInstructionsToMoveWestAndNorth() {
  141. final Robot robot = new Robot(new GridPosition(0, 0), Orientation.NORTH);
  142. robot.simulate("LAAARALA");
  143. final GridPosition expectedGridPosition = new GridPosition(-4, 1);
  144. final Orientation expectedOrientation = Orientation.WEST;
  145. assertEquals(robot.getGridPosition(), expectedGridPosition);
  146. assertEquals(robot.getOrientation(), expectedOrientation);
  147. }
  148. @Ignore("Remove to run test")
  149. @Test
  150. public void testInstructionsToMoveWestAndSouth() {
  151. final Robot robot = new Robot(new GridPosition(2, -7), Orientation.EAST);
  152. robot.simulate("RRAAAAALA");
  153. final GridPosition expectedGridPosition = new GridPosition(-3, -8);
  154. final Orientation expectedOrientation = Orientation.SOUTH;
  155. assertEquals(robot.getGridPosition(), expectedGridPosition);
  156. assertEquals(robot.getOrientation(), expectedOrientation);
  157. }
  158. @Ignore("Remove to run test")
  159. @Test
  160. public void testInstructionsToMoveEastAndNorth() {
  161. final Robot robot = new Robot(new GridPosition(8, 4), Orientation.SOUTH);
  162. robot.simulate("LAAARRRALLLL");
  163. final GridPosition expectedGridPosition = new GridPosition(11, 5);
  164. final Orientation expectedOrientation = Orientation.NORTH;
  165. assertEquals(robot.getGridPosition(), expectedGridPosition);
  166. assertEquals(robot.getOrientation(), expectedOrientation);
  167. }
  168. }