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 Report_After_Placing_On_Table_After_Rotating()
        {
            var robotInstructions = new RobotInstructions();

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

            var leftRotateResult = robotInstructions.Left();
            Assert.AreEqual(leftRotateResult, true);

            var reportResult = robotInstructions.Report();
            Assert.AreEqual("0,0,WEST", reportResult);
        }
        public void Report_After_Placing_On_Table_After_Moving_And_Rotating()
        {
            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 rightRotateResult = robotInstructions.Right();
            Assert.AreEqual(rightRotateResult, true);

            var reportResult = robotInstructions.Report();
            Assert.AreEqual("0,1,EAST", reportResult);
        }
        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);
        }