public void TestUniquePoints()
        {
            RobotEnvironment environment;

            int x = 10;
            int y = 22;

            environment = new RobotEnvironment(x, y);
            int requiredresult = 4;

            char direction = 'E';
            int  steps     = 2;

            environment.StartCleaning(direction, steps);

            direction = 'N';
            steps     = 1;
            environment.StartCleaning(direction, steps);
            Assert.AreEqual(environment.GetUniquePoints(), requiredresult);



            environment    = new RobotEnvironment(x, y);
            requiredresult = 36;

            direction = 'S';
            steps     = 35;
            environment.StartCleaning(direction, steps);

            direction = 'N';
            steps     = 30;
            environment.StartCleaning(direction, steps);
            Assert.AreEqual(environment.GetUniquePoints(), requiredresult);
        }
        public void TestBoundryLimits()
        {
            RobotEnvironment environment;

            int x = 0;
            int y = 0;

            environment = new RobotEnvironment(x, y);

            char direction = 'E';
            int  steps     = RobotEnvironment.Map + 25;
            int  required  = RobotEnvironment.Map + 1;

            environment.StartCleaning(direction, steps);
            int result = environment.GetUniquePoints();

            Assert.AreEqual(result, required);
        }
        public void TestHeadSouth()
        {
            int  x              = 0;
            int  y              = 0;
            int  steps          = 4;
            char direction      = 'S';
            int  requiredresult = 5;

            RobotEnvironment environment = new RobotEnvironment(x, y);

            environment.StartCleaning(direction, steps);
            Assert.AreEqual(environment.GetUniquePoints(), requiredresult);

            x              = 0;
            y              = 0;
            steps          = 2;
            direction      = 'S';
            requiredresult = 1;

            environment = new RobotEnvironment(x, y);
            environment.StartCleaning(direction, steps);
            Assert.AreNotEqual(environment.GetUniquePoints(), requiredresult);
        }