public void policies_can_be_applied_locally() { var graph = BehaviorGraph.BuildFrom(x => { x.Import <BlueRegistry>(); x.Import <GreenRegistry>(); x.Policies.ChainSource <ImportHandlers>(); // This would be here by Bottles normally }); var cache = new ChainResolutionCache(new TypeResolver(), graph); cache.FindUniqueByType(typeof(Message1)).IsWrappedBy(typeof(GreenWrapper)).ShouldBeTrue(); cache.FindUniqueByType(typeof(Message2)).IsWrappedBy(typeof(GreenWrapper)).ShouldBeTrue(); cache.FindUniqueByType(typeof(Message3)).IsWrappedBy(typeof(GreenWrapper)).ShouldBeTrue(); cache.FindUniqueByType(typeof(Message4)).IsWrappedBy(typeof(GreenWrapper)).ShouldBeFalse(); cache.FindUniqueByType(typeof(Message5)).IsWrappedBy(typeof(GreenWrapper)).ShouldBeFalse(); cache.FindUniqueByType(typeof(Message6)).IsWrappedBy(typeof(GreenWrapper)).ShouldBeFalse(); cache.FindUniqueByType(typeof(Message1)).IsWrappedBy(typeof(BlueWrapper)).ShouldBeFalse(); cache.FindUniqueByType(typeof(Message2)).IsWrappedBy(typeof(BlueWrapper)).ShouldBeFalse(); cache.FindUniqueByType(typeof(Message3)).IsWrappedBy(typeof(BlueWrapper)).ShouldBeFalse(); cache.FindUniqueByType(typeof(Message4)).IsWrappedBy(typeof(BlueWrapper)).ShouldBeTrue(); cache.FindUniqueByType(typeof(Message5)).IsWrappedBy(typeof(BlueWrapper)).ShouldBeTrue(); cache.FindUniqueByType(typeof(Message6)).IsWrappedBy(typeof(BlueWrapper)).ShouldBeTrue(); }
public void can_find_behavior_chain_for_topic() { var resolver = new ChainResolutionCache(new TypeResolver(), ObjectMother.Behaviors); ObjectMother.ProjectRoot.AllTopics().Each(x => { resolver.FindUniqueByType(typeof(Topic), x.Key).ShouldNotBeNull(); }); }
private void resolve(MenuNode node, Action <BehaviorGraph> configure) { var graph = new BehaviorGraph(); configure(graph); var resolver = new ChainResolutionCache(new TypeResolver(), graph); node.Resolve(resolver); }
public void SetUp() { graph = BehaviorGraph.BuildFrom(x => { x.Actions.IncludeType <ChainResolverController>(); }); _resolutionCache = new ChainResolutionCache(graph); }
public void SetUp() { graph = BehaviorGraph.BuildFrom(x => { x.Actions.IncludeType <ChainResolverController>(); }); typeResolver = new TypeResolver(); typeResolver.AddStrategy <ProxyDetector>(); _resolutionCache = new ChainResolutionCache(typeResolver, graph); }
public void SetUp() { graph = new FubuRegistry(x => { x.Actions.IncludeType <ChainResolverController>(); }).BuildGraph(); typeResolver = new TypeResolver(); typeResolver.AddStrategy <ProxyDetector>(); _resolutionCache = new ChainResolutionCache(typeResolver, graph); }
public void Configure(BehaviorGraph graph) { var navigation = graph.Settings.Get <NavigationGraph>(); navigation.Compile(); var resolver = new ChainResolutionCache(new TypeResolver(), graph); navigation.AllNodes().OfType <MenuNode>().Each(x => { try { x.Resolve(resolver); } catch (Exception ex) { throw new FubuException(4001, ex, "Failed to resolve a BehaviorChain for navigation element " + x.Key); } }); }
public void SetUp() { theCache = new ChainResolutionCache(setupActions()); }
public void SetUp() { theCache = new ChainResolutionCache(new TypeResolver(), setupActions()); }