public void can_compute_the_drivers_lap_number() { var driver = new LiveDriver(1); Assert.Equal(10, driver.ComputeLapNumber(10)); driver.LastGapMessage = new SetDriverGapMessage(1, LapGap.Zero); Assert.Equal(10, driver.ComputeLapNumber(10)); driver.LastGapMessage = new SetDriverGapMessage(1, new LapGap(2)); Assert.Equal(8, driver.ComputeLapNumber(10)); // I think this is sensible if the gap is greater than the race lap number. driver.LastGapMessage = new SetDriverGapMessage(1, new LapGap(20)); Assert.Equal(0, driver.ComputeLapNumber(10)); // TimeGaps should be ignored. driver.LastGapMessage = new SetDriverGapMessage(1, TimeGap.Zero); Assert.Equal(10, driver.ComputeLapNumber(10)); driver.LastGapMessage = new SetDriverGapMessage(1, new TimeGap(TimeSpan.FromDays(1D))); Assert.Equal(10, driver.ComputeLapNumber(10)); }
public void compute_race_lap_number_throws_if_race_lap_number_is_negative() { var driver = new LiveDriver(1); Assert.DoesNotThrow(() => driver.ComputeLapNumber(0)); Assert.Throws<ArgumentOutOfRangeException>(() => driver.ComputeLapNumber(-1)); }