Commit 2255521
Changed files (3)
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;