/// <inheritdoc/>
 public virtual void Visit(ReplaceDriverSectorTimeMessage message)
 {
 }
 public void Visit(ReplaceDriverSectorTimeMessage message)
 {
     Result = true;
 }
 void IMessageVisitor.Visit(ReplaceDriverSectorTimeMessage message)
 {
     Dispatch(message);
 }
 /// <inheritdoc/>
 public override void Visit(ReplaceDriverSectorTimeMessage message)
 {
     if(IsForMyDriver(message))
     {
         Model.LapTimes.GetSector(message.SectorNumber).ReplaceCurrent(message.Replacement);
     }
 }
        public void when_a_driver_is_on_the_track_in_sector_2_then_sector_1_column_colours_are_translated_into_a_replace_sector_1_time_message(
            SessionType session)
        {
            In(session).Assert(translator =>
            {
                var driver = translator.GetDriver(1);
                var expected = new ReplaceDriverSectorTimeMessage(1, 1, PT(23.5, PostedTimeType.PersonalBest, 4));

                driver.ChangeStatus(DriverStatus.OnTrack);
                driver.LapNumber = 5;
                driver.CurrentSectorNumber = 2;
                driver.SetLastSector(1, PT(23.5, PostedTimeType.Normal, 4));
                driver.SetColumnHasValue(GridColumn.S1, true);
                Assert.MessagesAreEqual(
                    expected,
                    translator.Translate(new SetGridColumnColourMessage(1, GridColumn.S1, GridColumnColour.Green))
                );
                Assert.Equal(expected.Replacement, driver.GetLastSector(1));
            });
        }
 /// <inheritdoc/>
 public override void Visit(ReplaceDriverSectorTimeMessage message)
 {
     GetDriver(message).SetLastSector(message.SectorNumber, message.Replacement);
 }