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