Example #1
0
        public void ShouldCleanOnlyTheStart()
        {
            var movements = new List <Tuple <string, int> >();

            _myRobotCleaner = new RobotIA(movements.Count, 24, 12, movements);
            _myRobotCleaner.Start();

            Assert.Equal(1, _myRobotCleaner.GetCleanedSpotsQuantity());
        }
        public void ShoulStayStopped()
        {
            var movements = new List <Tuple <string, int> >();

            _myRobotCleaner = new RobotIA(movements.Count, 24, 12, movements);

            _myRobotCleaner.Start();

            Assert.Equal(24, _myRobotCleaner.GetPositionX());
            Assert.Equal(12, _myRobotCleaner.GetPositionY());
        }
Example #3
0
        public void ShouldClean(int numberofcommands, int coordinatex, int coordinatey, List <Tuple <string, int> > movements, int outputexpected)
        {
            _myRobotCleaner = new RobotIA(numberofcommands, coordinatex, coordinatey, movements);

            //Act
            _myRobotCleaner.Start();


            //Assert
            Assert.Equal(_myRobotCleaner.GetCleanedSpotsQuantity(), outputexpected);
        }
        public void ShouldThrowErrorByInvalidOrientation(string orientation)
        {
            var movements = new List <Tuple <string, int> >()
            {
                Tuple.Create("E", 2),
                Tuple.Create(orientation, 100010)
            };

            _myRobotCleaner = new RobotIA(movements.Count, 24, 1, movements);


            Assert.Throws <NotSupportedException>(() => _myRobotCleaner.Start());
        }
Example #5
0
        public void ShouldReturnExerciseText()
        {
            var movements = new List <Tuple <string, int> >()
            {
                Tuple.Create("E", 2),
                Tuple.Create("N", 1)
            };

            _myRobotCleaner = new RobotIA(movements.Count, 10, 22, movements);
            _myRobotCleaner.Start();

            Assert.Equal("=> Cleaned: 4", _myRobotCleaner.ToString());
        }
        public void ShouldMoveToEastLimit()
        {
            var movements = new List <Tuple <string, int> >()
            {
                Tuple.Create("N", 2),
                Tuple.Create("E", 100050)
            };

            _myRobotCleaner = new RobotIA(movements.Count, 20, 41, movements);
            _myRobotCleaner.Start();

            Assert.Equal("E", _myRobotCleaner.GetOrientation());
            Assert.Equal(43, _myRobotCleaner.GetPositionY());
            Assert.Equal(POSITIVE_LIMIT, _myRobotCleaner.GetPositionX());
        }
        public void ShouldMoveToWestLimit()
        {
            var movements = new List <Tuple <string, int> >()
            {
                Tuple.Create("S", 2),
                Tuple.Create("W", 100050)
            };

            _myRobotCleaner = new RobotIA(movements.Count, 17, 21, movements);
            _myRobotCleaner.Start();

            Assert.Equal("W", _myRobotCleaner.GetOrientation());
            Assert.Equal(19, _myRobotCleaner.GetPositionY());
            Assert.Equal(NEGATIVE_LIMIT, _myRobotCleaner.GetPositionX());
        }
        public void ShouldJustMoveForward()
        {
            var movements = new List <Tuple <string, int> >()
            {
                Tuple.Create("E", 2)
            };

            _myRobotCleaner = new RobotIA(1, 24, 12, movements);

            _myRobotCleaner.Start();

            Assert.Equal("E", _myRobotCleaner.GetOrientation());
            Assert.Equal(26, _myRobotCleaner.GetPositionX());
            Assert.Equal(12, _myRobotCleaner.GetPositionY());
        }
        public void ShouldKeepFollowingCommandsAfterReachedOneLimit()
        {
            var movements = new List <Tuple <string, int> >()
            {
                Tuple.Create("N", 2),
                Tuple.Create("E", 100050),
                Tuple.Create("S", 100),
                Tuple.Create("W", 50)
            };

            _myRobotCleaner = new RobotIA(movements.Count, 10, 10, movements);
            _myRobotCleaner.Start();

            Assert.Equal("W", _myRobotCleaner.GetOrientation());
            Assert.Equal(-88, _myRobotCleaner.GetPositionY());
            Assert.Equal(99950, _myRobotCleaner.GetPositionX());
        }