示例#1
0
        public void ReturnOilAndWine_IfSundayFromDecember31TillJanuary6()
        {
            DateTime     sunday   = new DateTime(2018, 12, 24).AddDays(13);
            FastRuleEnum fastRule = Providers.FastRule.Get(sunday);

            Assert.Equal(FastRuleEnum.OilAndWine, fastRule);
        }
示例#2
0
        public static FastRuleEnum Get(DateTime date)
        {
            FastRuleEnum fastRule = FastRuleEnum.AnimalFat;

            if (date.IsChristmasFast())
            {
                fastRule = TheChristmasFastRule(date);
            }

            if (date.IsGreatFast())
            {
                fastRule = TheGreatFastRule(date);
            }

            if (date.IsApostlesFast())
            {
                fastRule = TheApostlesFastRule(date);
            }

            if (date.IsDormitionFast())
            {
                fastRule = TheDormitionFastRule(date);
            }

            return(fastRule);
        }
 public void ReturnFastTypeOilAndWine_IfWeekendsFromAugust14TillAugust27()
 {
     foreach (DateTime weekend in _weekendsInDormitionFast)
     {
         FastRuleEnum fastRule = Providers.FastRule.Get(weekend);
         Assert.Equal(FastRuleEnum.OilAndWine, fastRule);
     }
 }
 public void ReturnFastTypeWater_IfWorkdaysFromAugust14TillAugust27()
 {
     foreach (DateTime workday in _workdaysInDormitionFast)
     {
         FastRuleEnum fastRule = Providers.FastRule.Get(workday);
         Assert.Equal(FastRuleEnum.Water, fastRule);
     }
 }
示例#5
0
 public void ReturnWater_IfWednesdayFromNovember28TillJanuary6()
 {
     foreach (DateTime wednesday in _wednesdaysInChristmasFast)
     {
         FastRuleEnum fastRule = Providers.FastRule.Get(wednesday);
         Assert.Equal(FastRuleEnum.Water, fastRule);
     }
 }
示例#6
0
 public void ReturnFish_IfSundayFromNovember28TillDecember30()
 {
     foreach (DateTime sunday in _sundaysInChristmasFastExceptLastWeek)
     {
         FastRuleEnum fastRule = Providers.FastRule.Get(sunday);
         Assert.Equal(FastRuleEnum.Fish, fastRule);
     }
 }
示例#7
0
 public void ReturnOilAndWine_IfThursdayFromNovember28TillJanuary6()
 {
     foreach (DateTime thursday in _thursdaysInChristmasFast)
     {
         FastRuleEnum fastRule = Providers.FastRule.Get(thursday);
         Assert.Equal(FastRuleEnum.OilAndWine, fastRule);
     }
 }
示例#8
0
        private static FastRuleEnum TheGreatFastRule(DateTime date)
        {
            FastRuleEnum fastRule = date.IsWorkday()
            ? FastRuleEnum.Water
            : FastRuleEnum.OilAndWine;

            return(fastRule);
        }