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);
        }
示例#2
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        public void HaveDefaultProvider()
        {
            var sut = new MyEnabledBetweenDatesFeatureToggle();

            Assert.Equal(typeof(AppSettingsProvider), sut.ToggleValueProvider.GetType());
        }
        public void HaveDefaultProvider()
        {
            var sut = new MyEnabledBetweenDatesFeatureToggle();

            Assert.Equal(typeof(AppSettingsProvider), sut.ToggleValueProvider.GetType());
        }