public void BuildChecksConcreteTypeAndNotRequestedType() { BuilderAwareStrategy strategy = new BuilderAwareStrategy(); MockBuilderContext context = new MockBuilderContext(); AwareObject obj = new AwareObject(); context.InnerChain.Add(strategy); context.HeadOfChain.BuildUp(context, typeof(IgnorantObject), obj, null); Assert.IsTrue(obj.OnAssembledCalled); Assert.IsFalse(obj.OnDisassemblingCalled); }
public void UnbuildCallsClassWithInterface() { BuilderAwareStrategy strategy = new BuilderAwareStrategy(); MockBuilderContext context = new MockBuilderContext(); AwareObject obj = new AwareObject(); context.InnerChain.Add(strategy); context.HeadOfChain.TearDown(context, obj); Assert.IsFalse(obj.OnAssembledCalled); Assert.IsTrue(obj.OnDisassemblingCalled); }
public void BuildIgnoresClassWithoutInterface() { BuilderAwareStrategy strategy = new BuilderAwareStrategy(); MockBuilderContext context = new MockBuilderContext(); IgnorantObject obj = new IgnorantObject(); context.InnerChain.Add(strategy); context.HeadOfChain.BuildUp(context, typeof(IgnorantObject), obj, null); Assert.IsFalse(obj.OnAssembledCalled); Assert.IsFalse(obj.OnDisassemblingCalled); }
public void BuildCallsClassWithInterface() { BuilderAwareStrategy strategy = new BuilderAwareStrategy(); MockBuilderContext context = new MockBuilderContext(); AwareObject obj = new AwareObject(); context.InnerChain.Add(strategy); context.HeadOfChain.BuildUp(context, typeof(AwareObject), obj, "foo"); Assert.IsTrue(obj.OnAssembledCalled); Assert.IsFalse(obj.OnDisassemblingCalled); Assert.AreEqual("foo", obj.AssembledID); }