public void Accepts_Receiver_argument()
 {
     var mockRover = new Mock<IRover>();
     var landingSurfaceSizeCommand = new RoverExploreCommand(null);
     Assert.DoesNotThrow(() =>
         landingSurfaceSizeCommand.SetReceiver(mockRover.Object));
 }
            public void Given_list_of_movements_exposes_as_public_property()
            {
                var expectedMovements = new List<Movement> {Movement.Left, Movement.Right};

                var roverExploreCommand = new RoverExploreCommand(expectedMovements);

                Assert.AreEqual(expectedMovements, roverExploreCommand.Movements);
            }
            public void Invokes_Rover_Move()
            {
                var expectedMovements = new List<Movement> {Movement.Left, Movement.Right};
                var mockRover = new Mock<IRover>();
                var roverExploreCommand = new RoverExploreCommand(expectedMovements);
                roverExploreCommand.SetReceiver(mockRover.Object);

                roverExploreCommand.Execute();

                mockRover.Verify(x =>
                    x.Move(expectedMovements), Times.Once());
            }
 public void Returns_RoverExploreCommand_type()
 {
     var roverExploreCommand = new RoverExploreCommand(null);
     Assert.AreEqual(roverExploreCommand.GetCommandType(), CommandType.RoverExploreCommand);
 }