public void StopVehicle_StoppedVehicle_ShouldNotChangeEngineState()
        {
            // Arrange
            var vehicle = new Vehicle
            {
                EngineState = EngineState.Stopped,
                MessageLog = new List<string>()
            };

            // Act
            vehicle.StopVehicle(vehicle);

            // Assert
            vehicle.EngineState.Should().Be(EngineState.Stopped);
            vehicle.MessageLog.Count.Should().BeGreaterOrEqualTo(0);
        }
        public void StopVehicle_StartedVehicle_ShouldChangeEngineStateToStopped()
        {
            // Arrange
            var vehicle = new Vehicle
            {
                EngineState = EngineState.Started,
                MessageLog = new List<string>()
            };

            // Act
            vehicle.StopVehicle(vehicle);

            // Assert
            vehicle.EngineState.Should().Be(EngineState.Stopped);
            vehicle.MessageLog.Count.Should().BeGreaterOrEqualTo(1);
            vehicle.MessageLog.Should().Contain(m => m == "Stopped the vehicle.");
        }