예제 #1
0
        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));
        }
예제 #2
0
파일: FutureCode.cs 프로젝트: wy6688/qwack
        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);
        }