public void Should_throw_exception_when_dependency_cycle_is_found()
        {
            var order = new List<Feature>();


            var level1 = new CycleLevel1
            {
                OnActivation = f => order.Add(f)
            };
            var level2 = new CycleLevel2
            {
                OnActivation = f => order.Add(f)
            };

            var settings = new SettingsHolder();
            var featureSettings = new FeatureActivator(settings);

            featureSettings.Add(level1);
            featureSettings.Add(level2);

            Assert.Throws<ArgumentException>(() => featureSettings.SetupFeatures(null, null, null, null));
        }
        public void Should_throw_exception_when_dependency_cycle_is_found()
        {
            var order = new List<Feature>();


            var level1 = new CycleLevel1
            {
                OnActivation = f => order.Add(f)
            };
            var level2 = new CycleLevel2
            {
                OnActivation = f => order.Add(f)
            };

            var settings = new SettingsHolder();
            var featureSettings = new FeatureActivator(settings);

            featureSettings.Add(level1);
            featureSettings.Add(level2);

            Assert.Throws<ArgumentException>(() => featureSettings.SetupFeatures(null, null));
        }