public void ThrowExceptionIfTheRaceIsRunningAndVehicleIsTryingToBeUpdated()
        {
            var vehicle        = VehicleBuilder.BuildWithRunningStatus();
            var updatedVehicle = VehicleBuilder.BuildUpsertVehicleWithIdAndTeamNameAndModel(vehicle.Id, "UpdatedTeamName", "UpdatedModel");
            var race           = RaceBuilder.BuildWithVehicleAndRunningStatus(vehicle);

            Exception ex = Assert.Throws <Exception>(() => race.UpdateVehicleInfo(updatedVehicle));

            ex.Message.Should().Be("Cannot update vehicle info while the race is running.");
        }
        public void UpdateVehicleInfo()
        {
            var vehicle         = VehicleBuilder.Build();
            var vehicleToUpdate = VehicleBuilder.BuildUpsertVehicleWithIdAndTeamNameAndModel(vehicle.Id, "UpdatedTeamName", "UpdatedModel");

            var race = RaceBuilder.BuildWithVehicle(vehicle).UpdateVehicleInfo(vehicleToUpdate);

            var actualVehicle = race.Vehicles.First();

            actualVehicle.Model.Should().Be(vehicleToUpdate.Model);
            actualVehicle.TeamName.Should().Be(vehicleToUpdate.TeamName);
            actualVehicle.Type.Should().Be(vehicleToUpdate.Type);
        }