public void xDigitYear() { Assert.Equal(18, DateExtensions.DoubleDigitYear(2018)); Assert.Equal(8, DateExtensions.SingleDigitYear(2018)); Assert.Equal(28, DateExtensions.DoubleDigitYear(2028)); Assert.Equal(8, DateExtensions.SingleDigitYear(2028)); }
public string GetFrontMonth(DateTime date, bool useExpiryRatherThanRoll = false) { var d = date.AddMonths(-_settings.RollGen.MonthModifier); var trialMonth = s_futureMonths[d.Month - 1]; var trialYear = d.Year > YearBeforeWhich2DigitDatesAreUsed?DateExtensions.SingleDigitYear(d.Year) : DateExtensions.DoubleDigitYear(d.Year); var trialCodeString = $"{Prefix}{trialMonth}{trialYear}"; var trialCode = new FutureCode(trialCodeString, YearBeforeWhich2DigitDatesAreUsed, _futureSettingsProvider); trialCodeString = trialCode.GetPreviousCode(); trialCode = new FutureCode(trialCodeString, YearBeforeWhich2DigitDatesAreUsed, _futureSettingsProvider); trialCodeString = trialCode.GetNextCode(false); trialCode = new FutureCode(trialCodeString, YearBeforeWhich2DigitDatesAreUsed, _futureSettingsProvider); var testDate = useExpiryRatherThanRoll ? trialCode.GetExpiry() : trialCode.GetRollDate(); if (testDate < date) { trialCodeString = trialCode.GetNextCode(false); } return(trialCodeString); }