Exemplo n.º 1
0
            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);
            }
Exemplo n.º 2
0
            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));
            }
Exemplo n.º 3
0
            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));
            }