public void Robot_TakeSampleFromPosition_RobotSetToCorrespondingState( Facing initialFacing, int initial_location_X, int initial_location_Y, int initialBattery, Facing estimatedFacing, int estimaded_location_X, int estimaded_location_Y, int estimatedBattery, ElementType sampleCollected) { // Arrange var position = new Position(new Location(initial_location_X, initial_location_Y), initialFacing); var robot = new Robot(position, initialBattery, robotStrategies, new FacingControl(), new MovingControl(), new[, ] { { sampleCollected } }, new Stack <CommandType>()); // Act var command = new TakeSampleCommand(); command.ExecuteCommand(robot); // Assert Assert.AreEqual(robot.Position.Facing, estimatedFacing); Assert.AreEqual(robot.Battery, estimatedBattery); Assert.AreEqual(robot.Position.Location.X, estimaded_location_X); Assert.AreEqual(robot.Position.Location.Y, estimaded_location_Y); Assert.Contains(robot.Position.Location, robot.VisitedCells); if (sampleCollected != ElementType.Obs) { Assert.Contains(sampleCollected, robot.SamplesCollected); } }