protected virtual async Task <bool> GetLiveEventSettingsAsync()
        {
            var liveEventSettings = await _apiClient.GetLiveEventSettingsAsync();

            if (liveEventSettings == null || liveEventSettings.eventId == -1)
            {
                MessageBox.Show(this, "No Live Event Right Now");
                Log.Info("No live event found");
                autoRefreshToolStripMenuItem.Checked = false;
                return(false);
            }
            else
            {
                Log.Info($"Live event found: {liveEventSettings.eventId}");
                autoRefreshToolStripMenuItem.Checked = true;
            }

            Configuration.PitWindow = PitWindowCalculator.CalculatePitWindow(liveEventSettings.trackLength);

            EventSettings = liveEventSettings;

            ConfigurationUpdated(Configuration);

            return(true);
        }
        public void PitWindowCalculator_Superspeedway_ReturnsCorrectWindow()
        {
            // Arrange

            double trackLength       = 2.5;
            double expectedPitWindow = 22.0;

            // Act

            var calculatedPitWindow = PitWindowCalculator.CalculatePitWindow(trackLength);

            // Assert

            Assert.AreEqual(expectedPitWindow, calculatedPitWindow);
        }
        public void PitWindowCalculator_CookieCutterTrack_ReturnsCorrectWindow()
        {
            // Arrange

            double trackLength       = 1.5;
            double expectedPitWindow = 40.0;

            // Act

            var calculatedPitWindow = PitWindowCalculator.CalculatePitWindow(trackLength);

            // Assert

            Assert.AreEqual(expectedPitWindow, calculatedPitWindow);
        }
        public void PitWindowCalculator_ShortIntermediateTrack_ReturnsCorrectWindow()
        {
            // Arrange

            double trackLength       = 1.366;
            double expectedPitWindow = 57.0;

            // Act

            var calculatedPitWindow = PitWindowCalculator.CalculatePitWindow(trackLength);

            // Assert

            Assert.AreEqual(expectedPitWindow, calculatedPitWindow);
        }
        public void PitWindowCalculator_ShortTrack_ReturnsCorrectWindow()
        {
            // Arrange

            double trackLength       = 0.5;
            double expectedPitWindow = 115.00;

            // Act

            var calculatedPitWindow = PitWindowCalculator.CalculatePitWindow(trackLength);

            // Assert

            Assert.AreEqual(expectedPitWindow, calculatedPitWindow);
        }