コード例 #1
0
        public void CanMoveBackWardOneField()
        {
            // arrange
            var rover = new PlutoRover(0, 1, CardinalDirection.North);

            //act
            rover.MakeCommand("B");
            //assert
            Assert.AreEqual("00North", rover.GetRoverCoordinatesAndDirection());
        }
コード例 #2
0
        public void CanMoveAndRotateAllAround()
        {
            // arrange
            var rover = new PlutoRover(0, 0, CardinalDirection.North);

            //act
            rover.MakeCommand("FFRFF");
            //assert
            Assert.AreEqual("22East", rover.GetRoverCoordinatesAndDirection());
        }
コード例 #3
0
        public void TryMoveTwoField_WhenObstacleOnSecondField_CanMoveOneFieldAndReportObstacle()
        {
            // arrange
            var rover = new PlutoRover(0, 0, CardinalDirection.North);

            rover.Surface[0, 2] = 1;
            //act
            rover.MakeCommand("FF");
            //assert
            Assert.AreEqual("01North", rover.GetRoverCoordinatesAndDirection());
            Assert.IsTrue(rover.ObstacleDetected);
        }
コード例 #4
0
        public void TryMoveOneField_WhenObstacleOnThatField_ShouldReportIt()
        {
            // arrange
            var rover = new PlutoRover(0, 0, CardinalDirection.North);

            rover.Surface[0, 1] = 1;
            //act
            rover.MakeCommand("F");
            //assert
            Assert.AreEqual("00North", rover.GetRoverCoordinatesAndDirection());
            Assert.IsTrue(rover.ObstacleDetected);
        }