public void GenerateExplorationReportTest_TwoExplorersCollide_ExpectedOutput() { var deploymentZone = new Plateau { Size = new Size(5, 5) }; var team = new ExplorationTeam(deploymentZone); var rover1 = new Rover(team); var rover2 = new Rover(team); rover1.Launch(new Position(5, 5), Heading.North); team.Add(rover1); rover1.Move(new List <Movement>()); rover2.Launch(new Position(5, 4), Heading.North); team.Add(rover2); rover2.Move(new List <Movement> { // MMRMMRMRRM Movement.Forward, Movement.Forward, Movement.Forward }); var expectedReport = new StringBuilder(); expectedReport.Append("5 5 N"); expectedReport.AppendLine(); expectedReport.Append("5 4 N"); expectedReport.AppendLine(); Assert.AreEqual(expectedReport.ToString(), team.GenerateExplorationReport()); }
public void GenerateExplorationReportTest_ExplorerNotLaunched_ExpectedOutput() { var team = new ExplorationTeam(new Plateau()); team.Add(new Rover(team)); var expectedReport = new StringBuilder(); expectedReport.Append("Explorer not launched."); expectedReport.AppendLine(); Assert.AreEqual(expectedReport.ToString(), team.GenerateExplorationReport()); }
public void IsPositionAvailableTest_PassIsValidAndnoExplorerAtPosition() { var team = new ExplorationTeam(new Plateau { Size = new Size(5, 5) }); var rover1 = new Rover(team); rover1.Launch(new Position(5, 5), Heading.North); team.Add(rover1); var rover2 = new Rover(team); Assert.IsTrue(rover2.IsPositionAvailable(new Position(4, 5))); }
public void IsPositionAvailableTest_ExplorerExistsAtPositionFails() { var team = new ExplorationTeam(new Plateau { Size = new Size(5, 5) }); var rover1 = new Rover(team); rover1.Launch(new Position(5, 5), Heading.North); team.Add(rover1); var rover2 = new Rover(team); Assert.IsFalse(rover2.IsPositionAvailable(new Position(5, 5))); }
public void GenerateExplorationReportTest_OneExplorerLaunched_ExpectedOutput() { var deploymentZone = new Plateau { Size = new Size(5, 5) }; var team = new ExplorationTeam(deploymentZone); var rover = new Rover(team); rover.Launch(new Position(1, 2), Heading.North); team.Add(rover); var expectedReport = new StringBuilder(); expectedReport.Append("1 2 N"); expectedReport.AppendLine(); Assert.AreEqual(expectedReport.ToString(), team.GenerateExplorationReport()); }
public void MoveTest() { var deploymentZone = new Plateau { Size = new Size(5, 5) }; var team = new ExplorationTeam(deploymentZone); var rover1 = new Rover(team); var rover2 = new Rover(team); rover1.Launch(new Position(1, 2), Heading.North); team.Add(rover1); rover1.Move(new List <Movement> { // LMLMLMLMM Movement.Left, Movement.Forward, Movement.Left, Movement.Forward, Movement.Left, Movement.Forward, Movement.Left, Movement.Forward, Movement.Forward }); rover2.Launch(new Position(3, 3), Heading.East); team.Add(rover2); rover2.Move(new List <Movement> { // MMRMMRMRRM Movement.Forward, Movement.Forward, Movement.Right, Movement.Forward, Movement.Forward, Movement.Right, Movement.Forward, Movement.Right, Movement.Right, Movement.Forward }); }
public void ExplorationTeamTest_NullDeploymentZoneChart() { var team = new ExplorationTeam(null); }