public void Move_Move_Rotate_Left_Move_Robot_After_Placing_On_Table_Report()
        {
            var robotInstructions = new RobotInstructions();

            var placeResult = robotInstructions.Place(1, 2, FacingDirection.East);

            Assert.AreEqual(placeResult, true);

            var moveResult1 = robotInstructions.Move();

            Assert.AreEqual(moveResult1, true);

            var moveResult2 = robotInstructions.Move();

            Assert.AreEqual(moveResult2, true);

            var rotateResult = robotInstructions.Left();

            Assert.AreEqual(rotateResult, true);

            var moveResult3 = robotInstructions.Move();

            Assert.AreEqual(moveResult3, true);

            var reportResult = robotInstructions.Report();

            Assert.AreEqual("3,3,NORTH", reportResult);
        }
        public void Report_Before_Placing_On_Table()
        {
            var robotInstructions = new RobotInstructions();

            var reportResult = robotInstructions.Report();

            Assert.AreEqual("Can not generate the report!! Robot is not placed on the table.", reportResult);
        }
        public void Report_After_Placing_On_Table()
        {
            var robotInstructions = new RobotInstructions();

            var placeResult = robotInstructions.Place(0, 0, FacingDirection.North);

            Assert.AreEqual(placeResult, true);

            var reportResult = robotInstructions.Report();

            Assert.AreEqual("0,0,NORTH", reportResult);
        }
        public void Rotate_Left_Robot_After_Placing_On_Table_Report()
        {
            var robotInstructions = new RobotInstructions();

            var placeResult = robotInstructions.Place(0, 0, FacingDirection.North);

            Assert.AreEqual(placeResult, true);

            var rotateResult = robotInstructions.Left();

            Assert.AreEqual(rotateResult, true);

            var reportResult = robotInstructions.Report();

            Assert.AreEqual("0,0,WEST", reportResult);
        }
        public void Report_After_Placing_On_Table_After_Rotating_And_Moving()
        {
            var robotInstructions = new RobotInstructions();

            var placeResult = robotInstructions.Place(0, 0, FacingDirection.North);

            Assert.AreEqual(placeResult, true);

            var rightRotateResult = robotInstructions.Right();

            Assert.AreEqual(rightRotateResult, true);

            var moveResult = robotInstructions.Move();

            Assert.AreEqual(moveResult, true);

            var reportResult = robotInstructions.Report();

            Assert.AreEqual("1,0,EAST", reportResult);
        }