public static int GetPageNumber(iRacingSDK.SessionData._DriverInfo driverInfo, float pagePeriod) { var numberOfPages = GetNumberOfPages(driverInfo); var page = (int)Math.Floor(pagePeriod * numberOfPages); return(Math.Min(page, numberOfPages - 1)); }
public void show_page_1_at_start() { iRacingSDK.SessionData._DriverInfo driverInfo = BuildDrivers(10); var actual = FlashCardPaging.GetPageNumber(driverInfo, 0.0f); Assert.That(actual, Is.EqualTo(0)); }
public void show_page_2_at_end_for_20_drivers() { iRacingSDK.SessionData._DriverInfo driverInfo = BuildDrivers(20); var actual = FlashCardPaging.GetPageNumber(driverInfo, 1); Assert.That(actual, Is.EqualTo(1)); }
public void has_2_page_for_15_drivers() { iRacingSDK.SessionData._DriverInfo driverInfo = BuildDrivers(15); var actual = FlashCardPaging.GetNumberOfPages(driverInfo); Assert.That(actual, Is.EqualTo(2)); }
public static int GetNumberOfPages(iRacingSDK.SessionData._DriverInfo driverInfo) { var numberOfDrivers = driverInfo.CompetingDrivers.Length - 1; var numberOfPages = Math.Min(numberOfDrivers / LeaderBoard.DriversPerPage, 3); if (((float)numberOfDrivers % LeaderBoard.DriversPerPage) != 0) { numberOfPages++; } return(numberOfPages); }