Commit 2255521

mo khan <mo@mokhan.ca>
2019-08-05 19:23:09
ensure each direction is tested
1 parent 151b106
src/Q9/MovingRobot.java
@@ -49,12 +49,9 @@ public class MovingRobot extends Robot {
     String grid = "";
     for (int row = 0; row < 10; row++) {
       for (int column = 0; column < 10; column++) {
-        if (x.getX() == row && x.getY() == column)
-          grid += "|X";
-        else if (y.getX() == row && y.getY() == column)
-          grid += "|Y";
-        else
-          grid += "| ";
+        if (x.getX() == row && x.getY() == column) grid += "|X";
+        else if (y.getX() == row && y.getY() == column) grid += "|Y";
+        else grid += "| ";
       }
       grid += "|\n";
     }
src/Q9/MovingRobotTest.java
@@ -134,6 +134,42 @@ public class MovingRobotTest extends TestCase {
     assertEquals(0, subject.getY());
   }
 
+  public void test_move_Should_move_in_circle() {
+    this.subject = new MovingRobot(5, 5);
+
+    subject.move(Robot.NORTH);
+    assertEquals(5, subject.getX());
+    assertEquals(4, subject.getY());
+
+    subject.move(Robot.NORTH_EAST);
+    assertEquals(6, subject.getX());
+    assertEquals(3, subject.getY());
+
+    subject.move(Robot.EAST);
+    assertEquals(7, subject.getX());
+    assertEquals(3, subject.getY());
+
+    subject.move(Robot.SOUTH_EAST);
+    assertEquals(8, subject.getX());
+    assertEquals(4, subject.getY());
+
+    subject.move(Robot.SOUTH);
+    assertEquals(8, subject.getX());
+    assertEquals(5, subject.getY());
+
+    subject.move(Robot.SOUTH_WEST);
+    assertEquals(7, subject.getX());
+    assertEquals(6, subject.getY());
+
+    subject.move(Robot.WEST);
+    assertEquals(6, subject.getX());
+    assertEquals(6, subject.getY());
+
+    subject.move(Robot.NORTH_WEST);
+    assertEquals(5, subject.getX());
+    assertEquals(5, subject.getY());
+  }
+
   public void test_printMoves() {
     subject = new MovingRobot(0, 0);
 
src/Q9/Robot.java
@@ -3,6 +3,7 @@ package Q9;
 public class Robot {
   private int x;
   private int y;
+
   public static final int UP = 1;
   public static final int DOWN = 2;
   public static final int LEFT = 3;
@@ -12,6 +13,15 @@ public class Robot {
   public static final int RIGHT_UP_CORNER = 7;
   public static final int RIGHT_DOWN_CORNER = 8;
 
+  public static final int NORTH = UP;
+  public static final int NORTH_EAST = RIGHT_UP_CORNER;
+  public static final int EAST = RIGHT;
+  public static final int SOUTH_EAST = RIGHT_DOWN_CORNER;
+  public static final int SOUTH = DOWN;
+  public static final int SOUTH_WEST = LEFT_DOWN_CORNER;
+  public static final int WEST = LEFT;
+  public static final int NORTH_WEST = LEFT_UP_CORNER;
+
   public Robot(int x, int y) {
     this.x = x;
     this.y = y;