Пример #1
0
 public RootPipelineGraph(PluginGraph pluginGraph)
 {
     _pluginGraph = pluginGraph;
     _transientCache = new NulloTransientCache();
     _profiles =
         new Cache<string, IPipelineGraph>(
             name => new ComplexPipelineGraph(this, _pluginGraph.Profile(name), new NulloTransientCache()));
 }
Пример #2
0
        public Profiles(PluginGraph pluginGraph, IPipelineGraph root)
        {
            _profiles = new Cache<string, IPipelineGraph>(name => {
                var profileGraph = pluginGraph.Profile(name);

                var instances = new ComplexInstanceGraph(root, profileGraph, ContainerRole.ProfileOrChild);
                return new PipelineGraph(profileGraph, instances, root, root.Singletons, root.Transients);
            });
        }
        public void lifecycle_for_pluginType_explicitly_set()
        {
            var graph = new PluginGraph();
            var profile = graph.Profile("Red");
            profile.Families[typeof(IGateway)].SetLifecycleTo<SingletonLifecycle>();

            var pipeline = PipelineGraph.BuildRoot(graph).Profiles.For("Red");
            pipeline.Instances.DefaultLifecycleFor(typeof (IGateway))
                .ShouldBeOfType<SingletonLifecycle>();
        }
        public void get_the_owner_when_part_of_a_profile()
        {
            var graph = new PluginGraph();
            var profile = graph.Profile("something");

            var family = profile.Families[GetType()];
            var instance = new SimpleInstance();
            family.AddInstance(instance);

            instance.Owner().ShouldBeTheSameAs(graph);
        }