public void ShouldOnlyFireBetween7AMAnd7PMOnWeekdays() { FilterTrigger outerTrigger = new FilterTrigger(new TimeSpan(), new TimeSpan(), (DayOfWeek[])DayOfWeek.GetValues(typeof(DayOfWeek)), null, (IDateTimeProvider)mockDateTime.MockInstance); outerTrigger.StartTime = new TimeSpan(19, 0, 0); outerTrigger.EndTime = new TimeSpan(7, 0, 0); outerTrigger.InnerTrigger = trigger; trigger.StartTime = new TimeSpan(0, 0, 0); trigger.EndTime = new TimeSpan(23, 59, 59); trigger.Weekdays.Clear(); trigger.Weekdays.Add(DayOfWeek.Saturday); trigger.Weekdays.Add(DayOfWeek.Sunday); mockTrigger.SetReturnValue("Fire", true); mockDateTime.SetReturnValue("get_Now", new DateTime(2006, 8, 10, 11, 30, 0, 0)); // Thurs midday Assert.AreEqual(true, outerTrigger.Fire()); mockDateTime.SetReturnValue("get_Now", new DateTime(2006, 8, 10, 19, 30, 0, 0)); // Thurs evening Assert.AreEqual(false, outerTrigger.Fire()); mockDateTime.SetReturnValue("get_Now", new DateTime(2006, 8, 12, 11, 30, 0, 0)); // Sat midday Assert.AreEqual(false, outerTrigger.Fire()); mockDateTime.SetReturnValue("get_Now", new DateTime(2006, 8, 12, 19, 30, 0, 0)); // Sat evening Assert.AreEqual(false, outerTrigger.Fire()); }
protected void CreateMocksAndInitialiseObjectUnderTest() { mockTrigger = new DynamicMock(typeof(ITrigger)); mockDateTime = new DynamicMock(typeof(IDateTimeProvider)); trigger = new FilterTrigger(new TimeSpan(10, 0, 0), new TimeSpan(11, 0, 0), new DayOfWeek[] { DayOfWeek.Wednesday }, (ITrigger)mockTrigger.MockInstance, (IDateTimeProvider)mockDateTime.MockInstance); }