示例#1
0
        public void Not_Throw_Exception_When_Provided_With_Recievers()
        {
            const CardinalDirection anyCardinalDirection = CardinalDirection.South;
            var position                  = new Position(0, 0);
            var mockRover                 = new Mock <IRover>();
            var mockLandingSurface        = new Mock <ILandingSurface>();
            var landingSurfaceSizeCommand = new RoverDeployCommand(position, anyCardinalDirection);

            Assert.DoesNotThrow(() =>
                                landingSurfaceSizeCommand.SetReceivers(mockRover.Object, mockLandingSurface.Object));
        }
            public void Accepts_Receiver_arguments()
            {
                const CardinalDirection anyCardinalDirection = CardinalDirection.South;
                var anyPoint                  = new Point(0, 0);
                var mockRover                 = new Mock <IRover>();
                var mockLandingSurface        = new Mock <ILandingSurface>();
                var landingSurfaceSizeCommand = new RoverDeployCommand(anyPoint, anyCardinalDirection);

                Assert.DoesNotThrow(() =>
                                    landingSurfaceSizeCommand.SetReceivers(mockRover.Object, mockLandingSurface.Object));
            }
示例#3
0
        public void Call_Rover_Deploy_When_Command_Executed()
        {
            const CardinalDirection expectedCardinalDirection = CardinalDirection.North;
            var expectedPosition = new Position(0, 0);

            var mockRover          = new Mock <IRover>();
            var mockLandingSurface = new Mock <ILandingSurface>();
            var roverDeployCommand = new RoverDeployCommand(expectedPosition, expectedCardinalDirection);

            roverDeployCommand.SetReceivers(mockRover.Object, mockLandingSurface.Object);

            roverDeployCommand.Execute();

            mockRover.Verify(x =>
                             x.Deploy(mockLandingSurface.Object, expectedPosition, expectedCardinalDirection), Times.Once());
        }