public void behavior_tracers_deeper() { var node = Wrapper.For<SimpleBehavior>(); var chain = new RoutedChain("foo"); chain.AddToEnd(node); node.AddAfter(Wrapper.For<DifferentBehavior>()); ApplyTracing.ApplyToChain(chain); var objectDef = chain.As<IContainerModel>().ToObjectDef().FindDependencyDefinitionFor<IActionBehavior>(); objectDef.Type.ShouldEqual(typeof(BehaviorTracer)); var child1 = objectDef.FindDependencyDefinitionFor<IActionBehavior>(); child1.Type.ShouldEqual(typeof(SimpleBehavior)); var child2 = child1.FindDependencyDefinitionFor<IActionBehavior>(); child2.Type.ShouldEqual(typeof(BehaviorTracer)); var child3 = child2.FindDependencyDefinitionFor<IActionBehavior>(); child3.Type.ShouldEqual(typeof(DifferentBehavior)); }