public void DirectRover_RequiresRoverToHaveLanded() { var manager = new RoverManager(); manager.DiscoverPlateau(5, 5); manager.LandRover(new Rover() { Id = 1, Position = new Vector() { X = 4, Z = 3 } }); Assert.Throws <InvalidOperationException>(() => manager.DirectRover(2, RoverOperationType.Move)); }
public void DirectRover_WillNotDriveIntoOtherRovers() { var manager = new RoverManager(); manager.DiscoverPlateau(5, 5); manager.LandRover(new Rover() { Id = 1, Heading = new Vector() { X = 0, Z = 1 }, Position = new Vector() { X = 4, Z = 3 } }); manager.LandRover(new Rover() { Id = 2, Heading = new Vector() { X = 0, Z = 1 }, Position = new Vector() { X = 4, Z = 4 } }); Assert.Throws <InvalidOperationException>(() => manager.DirectRover(1, RoverOperationType.Move)); }