public void ShouldOnlyBuildBetween7AMAnd7PMOnWeekdays() { FilterTrigger outerTrigger = new FilterTrigger((DateTimeProvider) mockDateTime.MockInstance); outerTrigger.StartTime = "19:00"; outerTrigger.EndTime = "7:00"; outerTrigger.InnerTrigger = trigger; trigger.StartTime = "0:00"; trigger.EndTime = "23:59:59"; trigger.WeekDays = new DayOfWeek[] { DayOfWeek.Saturday, DayOfWeek.Sunday }; IntegrationRequest request = ModificationExistRequest(); mockTrigger.SetupResult("Fire", request); mockDateTime.SetupResult("Now", new DateTime(2006, 8, 10, 11, 30, 0, 0)); // Thurs midday Assert.AreEqual(request, outerTrigger.Fire(), "outerTrigger.Fire()"); mockDateTime.SetupResult("Now", new DateTime(2006, 8, 10, 19, 30, 0, 0)); // Thurs evening Assert.IsNull(outerTrigger.Fire(), "outerTrigger.Fire()"); mockDateTime.SetupResult("Now", new DateTime(2006, 8, 12, 11, 30, 0, 0)); // Sat midday Assert.IsNull(outerTrigger.Fire(), "outerTrigger.Fire()"); mockDateTime.SetupResult("Now", new DateTime(2006, 8, 12, 19, 30, 0, 0)); // Sat evening Assert.IsNull(outerTrigger.Fire(), "outerTrigger.Fire()"); }