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

            var moveResult = robotInstructions.Move();

            Assert.AreEqual(moveResult, false);
            Assert.AreEqual("Robot can not move!! Robot is not placed on the table.", robotInstructions._error);
        }
        public void Move_Robot_After_Placing_On_Table_But_Out_Of_Table_Boundary()
        {
            var robotInstructions = new RobotInstructions();

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

            Assert.AreEqual(placeResult, true);

            var moveResult = robotInstructions.Move();

            Assert.AreEqual("Can not Move the Robot out of the table boundary.", robotInstructions._error);
        }
        public void Move_Robot_After_Placing_On_Table()
        {
            var robotInstructions = new RobotInstructions();

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

            Assert.AreEqual(placeResult, true);

            var moveResult = robotInstructions.Move();

            Assert.AreEqual(moveResult, true);
        }
        public void Report_After_Placing_On_Table_After_Moving()
        {
            var robotInstructions = new RobotInstructions();

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

            Assert.AreEqual(placeResult, true);

            var moveResult = robotInstructions.Move();

            Assert.AreEqual(moveResult, true);

            var reportResult = robotInstructions.Report();

            Assert.AreEqual("0,1,NORTH", 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);
        }