AK.F1.Timing.Live.LiveMessageTranslatorTest.when_a_driver_is_on_the_track_then_sector_1_column_values_are_translated_into_set_sector_time_messages C# (CSharp) Method

when_a_driver_is_on_the_track_then_sector_1_column_values_are_translated_into_set_sector_time_messages() private method

private when_a_driver_is_on_the_track_then_sector_1_column_values_are_translated_into_set_sector_time_messages ( SessionType session ) : void
session SessionType
return void
        public void when_a_driver_is_on_the_track_then_sector_1_column_values_are_translated_into_set_sector_time_messages(SessionType session)
        {
            In(session).Assert(translator =>
            {
                SetDriverSectorTimeMessage expected;
                LiveDriver driver = translator.GetDriver(1);

                driver.ChangeStatus(DriverStatus.OnTrack);
                driver.LapNumber = 5;
                // TODO Perhaps this test should be moved into one of its own as we also test here that not setting the
                // CurrentSectorNumber still results in a translation for the given sector
                // Normal lap time.
                expected = new SetDriverSectorTimeMessage(1, 1, PT(23.5, PostedTimeType.Normal, 5));
                Assert.MessagesAreEqual(
                    expected,
                    translator.Translate(new SetGridColumnValueMessage(1, GridColumn.S1, GridColumnColour.White, "23.5"))
                );
                Assert.Equal(expected.SectorTime, driver.GetLastSector(1));
                Assert.Equal(2, driver.CurrentSectorNumber);
                // Personal best lap time.
                driver.CurrentSectorNumber = 1;
                expected = new SetDriverSectorTimeMessage(1, 1, PT(23.5, PostedTimeType.PersonalBest, 5));
                Assert.MessagesAreEqual(
                    expected,
                    translator.Translate(new SetGridColumnValueMessage(1, GridColumn.S1, GridColumnColour.Green, "23.5"))
                );
                Assert.Equal(expected.SectorTime, driver.GetLastSector(1));
                Assert.Equal(2, driver.CurrentSectorNumber);
                // Session best lap time.
                driver.CurrentSectorNumber = 1;
                expected = new SetDriverSectorTimeMessage(1, 1, PT(23.5, PostedTimeType.SessionBest, 5));
                Assert.MessagesAreEqual(
                    expected,
                    translator.Translate(new SetGridColumnValueMessage(1, GridColumn.S1, GridColumnColour.Magenta, "23.5"))
                );
                Assert.Equal(expected.SectorTime, driver.GetLastSector(1));
                Assert.Equal(2, driver.CurrentSectorNumber);
            });
        }
LiveMessageTranslatorTest