From 22555212598db087b128b2422b8693057ef1e88d Mon Sep 17 00:00:00 2001 From: mo khan Date: Mon, 5 Aug 2019 13:23:09 -0600 Subject: ensure each direction is tested --- src/Q9/MovingRobot.java | 9 +++------ src/Q9/MovingRobotTest.java | 36 ++++++++++++++++++++++++++++++++++++ src/Q9/Robot.java | 10 ++++++++++ 3 files changed, 49 insertions(+), 6 deletions(-) (limited to 'src') 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; -- cgit v1.2.3