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()); }
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()); }
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()); }