Пример #1
0
        public void ToString_WhenAskedForRobotPosition_ReturnsPrettyPrintedPositionAndCardinalOrientation()
        {
            var engine = new NorthEngine();
            var robot  = new Robot(engine);

            var prettyPrint = robot.ToString();

            Assert.AreEqual("0 0 N", prettyPrint);
        }
Пример #2
0
        public void Forward_WhenCardinalEngineIsSetAndGoesForward_ReturnsCorrectPosition()
        {
            var engine = new NorthEngine();
            var robot  = new Robot(engine);

            robot.Forward();

            Assert.AreEqual(new Position(0, 1), robot.Position);
        }
Пример #3
0
        public void GetForwardProjection_WhenAskedForProjection_DoesntChangeThePositionOfRobot()
        {
            var engine = new NorthEngine();
            var robot  = new Robot(engine);

            robot.GetForwardProjection();

            Assert.AreEqual(new Position(0, 0), robot.Position);
        }
Пример #4
0
        public void GetForwardProjection_WhenAskedForProjection_ReturnsChangedPosition()
        {
            var engine = new NorthEngine();
            var robot  = new Robot(engine);

            var newPosition = robot.GetForwardProjection();

            Assert.AreEqual(new Position(0, 1), newPosition);
        }
Пример #5
0
        public void TurnLeft_WhenCardinalEngineIsSetAndTurnsLeft_ShouldChangeEngineToLeftOne()
        {
            var engine = new NorthEngine();
            var robot  = new Robot(engine);

            robot.TurnLeft();

            Assert.AreEqual(new WestEngine().CardinalDirection, robot.CardinalEngine.CardinalDirection);
        }
Пример #6
0
        public void TurnRight_WhenCardinalEngineIsSetAndTurnsRight_DoesntChangePosition()
        {
            var engine = new NorthEngine();
            var robot  = new Robot(engine);

            robot.TurnRight();

            Assert.AreEqual(new Position(0, 0), robot.Position);
        }
Пример #7
0
        public void Forward_WhenCardinalEngineIsSetAndGoesForward_DoesntChangeOrientation()
        {
            var engine = new NorthEngine();
            var robot  = new Robot(engine);

            robot.Forward();

            Assert.AreEqual(engine, robot.CardinalEngine);
        }
Пример #8
0
        public void Forward_FromStartPositionMovingForward_ReturnsCorrectEndPosition(int startX, int startY, int endX, int endY)
        {
            var ne = new NorthEngine();
            var startingPosition = new Position(startX, startY);

            var newPosition = ne.Forward(startingPosition);

            Assert.AreEqual(new Position(endX, endY), newPosition);
        }