public void Should_activate_upstream_dependencies_first() { var order = new List<Feature>(); var dependingFeature = new DependsOnOne_Feature { OnActivation = f => order.Add(f) }; var feature = new MyFeature1 { OnActivation = f => order.Add(f) }; var settings = new SettingsHolder(); var featureSettings = new FeatureActivator(settings); featureSettings.Add(dependingFeature); featureSettings.Add(feature); settings.EnableFeatureByDefault<MyFeature1>(); featureSettings.SetupFeatures(null, null, null, null); Assert.True(dependingFeature.IsActive); Assert.IsInstanceOf<MyFeature1>(order.First(), "Upstream dependencies should be activated first"); }
public void Should_activate_upstream_dependencies_first() { var order = new List<Feature>(); var dependingFeature = new DependsOnOne_Feature { OnActivation = f => order.Add(f) }; var feature = new MyFeature1 { OnActivation = f => order.Add(f) }; var settings = new SettingsHolder(); var featureSettings = new FeatureActivator(settings); featureSettings.Add(dependingFeature); featureSettings.Add(feature); settings.EnableFeatureByDefault<MyFeature1>(); featureSettings.SetupFeatures(null, null); Assert.True(dependingFeature.IsActive); Assert.IsInstanceOf<MyFeature1>(order.First(), "Upstream dependencies should be activated first"); }
public void Should_activate_upstream_dependencies_first() { var defaultsOrder = new List <Feature>(); var dependingFeature = new DependsOnOne_Feature { OnDefaults = f => defaultsOrder.Add(f) }; var feature = new MyFeature1 { OnDefaults = f => defaultsOrder.Add(f) }; featureSettings.Add(dependingFeature); featureSettings.Add(feature); settings.EnableFeatureByDefault <MyFeature1>(); featureSettings.SetupFeatures(new FakeFeatureConfigurationContext()); Assert.True(dependingFeature.IsActive); Assert.IsInstanceOf <MyFeature1>(defaultsOrder.First(), "Upstream dependencies should be activated first"); }