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