summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2019-08-05 13:23:09 -0600
committermo khan <mo@mokhan.ca>2019-08-05 13:23:09 -0600
commit22555212598db087b128b2422b8693057ef1e88d (patch)
tree9544f3184bf583cbe5982fccd00e6b64e2c63094 /src
parent151b106f5d265f17ccf38e978c197e1e38dc4deb (diff)
ensure each direction is tested
Diffstat (limited to 'src')
-rw-r--r--src/Q9/MovingRobot.java9
-rw-r--r--src/Q9/MovingRobotTest.java36
-rw-r--r--src/Q9/Robot.java10
3 files changed, 49 insertions, 6 deletions
diff --git a/src/Q9/MovingRobot.java b/src/Q9/MovingRobot.java
index 3cbccaa..5e18f47 100644
--- a/src/Q9/MovingRobot.java
+++ b/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";
}
diff --git a/src/Q9/MovingRobotTest.java b/src/Q9/MovingRobotTest.java
index a91c984..8731130 100644
--- a/src/Q9/MovingRobotTest.java
+++ b/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);
diff --git a/src/Q9/Robot.java b/src/Q9/Robot.java
index 6d004f0..69ef0a5 100644
--- a/src/Q9/Robot.java
+++ b/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;