public void EnableFeatureDuringToggleTimePeriod() { var expectedNow = DateTime.Now; var expectedTimePeriod = new Tuple<DateTime, DateTime>(expectedNow.AddMilliseconds(-1), expectedNow.AddMilliseconds(1)); var fakeToggleValueProvider = new Mock<ITimePeriodProvider>(); fakeToggleValueProvider.Setup(x => x.EvaluateTimePeriod(It.IsAny<EnabledBetweenDatesFeatureToggle>())).Returns(expectedTimePeriod); var sut = new MyEnabledBetweenDatesFeatureToggle { NowProvider = () => expectedNow, ToggleValueProvider = fakeToggleValueProvider.Object }; Assert.True(sut.FeatureEnabled); }
public void EnableFeatureOnEndOfToggleTimePeriod() { var expectedNow = DateTime.Now; var expectedTimePeriod = new Tuple <DateTime, DateTime>(expectedNow.AddMilliseconds(-1), expectedNow); var fakeToggleValueProvider = new Mock <ITimePeriodProvider>(); fakeToggleValueProvider.Setup(x => x.EvaluateTimePeriod(It.IsAny <EnabledBetweenDatesFeatureToggle>())).Returns(expectedTimePeriod); var sut = new MyEnabledBetweenDatesFeatureToggle { NowProvider = () => expectedNow, ToggleValueProvider = fakeToggleValueProvider.Object }; Assert.True(sut.FeatureEnabled); }
public void ShouldDisableFeatureBeforeToggleTimePeriod() { var expectedNow = DateTime.Now; var expectedTimePeriod = new Tuple<DateTime, DateTime>(expectedNow.AddMilliseconds(1), expectedNow.AddMilliseconds(2)); var fakeNowProvider = new Mock<INowDateAndTime>(); fakeNowProvider.SetupGet(x => x.Now).Returns(expectedNow); var fakeToggleValueProvider = new Mock<ITimePeriodProvider>(); fakeToggleValueProvider.Setup(x => x.EvaluateTimePeriod(It.IsAny<EnabledBetweenDatesFeatureToggle>())).Returns(expectedTimePeriod); var sut = new MyEnabledBetweenDatesFeatureToggle(); sut.NowProvider = fakeNowProvider.Object; sut.ToggleValueProvider = fakeToggleValueProvider.Object; Assert.IsFalse(sut.FeatureEnabled); }
public void ShouldEnableFeatureDuringToggleTimePeriod() { var expectedNow = DateTime.Now; var expectedTimePeriod = new Tuple <DateTime, DateTime>(expectedNow.AddMilliseconds(-1), expectedNow.AddMilliseconds(1)); var fakeNowProvider = new Mock <INowDateAndTime>(); fakeNowProvider.SetupGet(x => x.Now).Returns(expectedNow); var fakeToggleValueProvider = new Mock <ITimePeriodProvider>(); fakeToggleValueProvider.Setup(x => x.EvaluateTimePeriod(It.IsAny <EnabledBetweenDatesFeatureToggle>())).Returns(expectedTimePeriod); var sut = new MyEnabledBetweenDatesFeatureToggle(); sut.NowProvider = fakeNowProvider.Object; sut.ToggleValueProvider = fakeToggleValueProvider.Object; Assert.IsTrue(sut.FeatureEnabled); }
public void HaveDefaultProvider() { var sut = new MyEnabledBetweenDatesFeatureToggle(); Assert.Equal(typeof(AppSettingsProvider), sut.ToggleValueProvider.GetType()); }