public void Composes_arguments_into_expected_report_format(int coordinateX, int coordinateY, CardinalDirection cardinalDirection, string expectedReport) { var point = new Point(coordinateX, coordinateY); var reportComposer = new ConsoleReportComposer(); var report = reportComposer.Compose(point, cardinalDirection); Assert.AreEqual(expectedReport, report); }
public void When_any_Rover_not_deployed_throws_ReportException() { var mockRover = new Mock<IRover>(); mockRover.Setup(x => x.IsDeployed()).Returns(false); var rovers = new List<IRover> {mockRover.Object}; var reportComposer = new ConsoleReportComposer(); Assert.Throws<ReportException>(() => reportComposer.CompileReports(rovers)); }
public void When_all_Rovers_deployed_requests_Rover_Positions_and_CardinalDirections() { var mockRover = new Mock<IRover>(); mockRover.Setup(x => x.IsDeployed()).Returns(true); var rovers = new List<IRover> {mockRover.Object, mockRover.Object, mockRover.Object}; var reportComposer = new ConsoleReportComposer(); reportComposer.CompileReports(rovers); mockRover.VerifyGet(x => x.Position, Times.Exactly(3)); mockRover.VerifyGet(x => x.CardinalDirection, Times.Exactly(3)); }