diff --git a/src/main/java/cat/hack3/codingtests/marsrover/Coordinates.java b/src/main/java/cat/hack3/codingtests/marsrover/Coordinates.java index 5499738..3ddc2fc 100644 --- a/src/main/java/cat/hack3/codingtests/marsrover/Coordinates.java +++ b/src/main/java/cat/hack3/codingtests/marsrover/Coordinates.java @@ -1,5 +1,8 @@ package cat.hack3.codingtests.marsrover; + +import java.util.logging.Logger; + /** * Notice that the representation is the following: * Latitude is Y, starts from 0 on the top and goes down incrementally @@ -12,6 +15,7 @@ package cat.hack3.codingtests.marsrover; public class Coordinates { private int latitude; private int longitude; + private Logger logger = Logger.getLogger(Coordinates.class.getName()); public static Coordinates of(int latitude, int longitude) { return new Coordinates(latitude, longitude); @@ -24,6 +28,7 @@ public class Coordinates { public Coordinates incrementSouth() { latitude++; + logger.info("incremented South latitude, now is "+latitude); return this; } diff --git a/src/main/java/cat/hack3/codingtests/marsrover/MarsRover.java b/src/main/java/cat/hack3/codingtests/marsrover/MarsRover.java index dffbf20..eb9ef7d 100644 --- a/src/main/java/cat/hack3/codingtests/marsrover/MarsRover.java +++ b/src/main/java/cat/hack3/codingtests/marsrover/MarsRover.java @@ -19,4 +19,8 @@ public class MarsRover { case WEST -> null; }; } + + public Coordinates getCurrentCoordinates() { + return currentCoordinates; + } } diff --git a/src/test/java/cat/hack3/codingtests/marsrover/MarsRoverTest.java b/src/test/java/cat/hack3/codingtests/marsrover/MarsRoverTest.java index 4963376..63b1fd7 100644 --- a/src/test/java/cat/hack3/codingtests/marsrover/MarsRoverTest.java +++ b/src/test/java/cat/hack3/codingtests/marsrover/MarsRoverTest.java @@ -3,6 +3,8 @@ package cat.hack3.codingtests.marsrover; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; +import java.util.stream.IntStream; + import static cat.hack3.codingtests.marsrover.MarsMap.Direction.SOUTH; import static org.testng.Assert.assertEquals; @@ -28,4 +30,11 @@ public class MarsRoverTest { Coordinates currentPosition = rover.moveForward(); assertEquals(currentPosition, Coordinates.of(3, 3)); } + + @Test + public void make5StepsInARow() { + IntStream.rangeClosed(0, 5) + .forEach(i -> rover.moveForward()); + assertEquals(rover.getCurrentCoordinates(), Coordinates.of(8, 3)); + } }