public void ShouldBuildAbstractTypeThenGetDecoratedWith4Args() { MockClass4 actual = builder.BuildAssemblyFromType <MockClass4>(typeof(MockClass4), null); Decorator decorator = new ObjectDecorator(new ObjectInstantiator()); decorator.Decorate <MockClass4>(actual); Assert.AreEqual("some1helpme", actual.DoSomeMagic("some", 1, "help", "me")); }
public void ResolveWithOutInterface() { container.Register <MockClass4>(); container.Register <MockClass5>(); container.Register <MockClass6>(); MockClass4 mock4 = container.Resolve <MockClass4>() as MockClass4; MockClass5 mock5 = container.Resolve <MockClass5>() as MockClass5; MockClass6 mock6 = container.Resolve <MockClass6>() as MockClass6; // Check that contructors have only been called once. Assert.AreEqual(1, MockClass4.constructorCalls); Assert.AreEqual(1, MockClass5.constructorCalls); Assert.AreEqual(1, MockClass6.constructorCalls); // Check that references in obejcts has been set with the correct references. Assert.IsNotNull(mock4.mock5); Assert.IsNotNull(mock4.mock6); Assert.IsNotNull(mock5.mock6); Assert.AreSame(mock4.mock5, mock5); Assert.AreSame(mock4.mock6, mock6); Assert.AreSame(mock4.mock6, mock5.mock6); }