public void Freeze_Freezes_Toggle()
        {
            var toggle1 = new DependencyToggle(new BooleanToggle(ToggleName, true));

            toggle1.Freeze();
            Assert.IsTrue(toggle1.IsFrozen);
        }
        public void AddDependency_Throws_If_Object_Is_Frozen()
        {
            var toggle = new DependencyToggle(new BooleanToggle(ToggleName, true));

            toggle.Freeze();

            var dependency = new BooleanToggle("a", true);

            Assert.Throws <ToggleFrozenException>(() => toggle.AddDependency(dependency));
        }
        public void Freeze_Freezes_Dependencies()
        {
            var toggle1     = new DependencyToggle(new BooleanToggle(ToggleName, true));
            var dependency1 = new Mock <IFeatureToggle>();
            var dependency2 = new Mock <IFeatureToggle>();

            toggle1.AddDependency(dependency1.Object);
            toggle1.AddDependency(dependency2.Object);

            dependency1.Setup(x => x.Freeze());
            dependency2.Setup(x => x.Freeze());

            toggle1.Freeze();

            Assert.IsTrue(toggle1.IsFrozen);
            dependency1.VerifyAll();
            dependency2.VerifyAll();
        }