public void IfNull_WithTarget_DoNotCallFuncTR_ReturnOtherTypeNull() { var target = new MockClass1(); MockClass2 rtn = target.IfNull(() => new MockClass2()); Assert.IsNull(rtn); }
public void IfNotNull_WithTarget_CallFuncTTR_ReturnOtherType() { var target = new MockClass1(); MockClass2 otherRtn = target.IfNotNull(x => new MockClass2()); Assert.IsNotNull(otherRtn); }
public void IfNull_WithNullTarget_CallFuncTR_ReturnOtherType() { var target = default(MockClass1); MockClass2 rtn = target.IfNull(() => new MockClass2()); Assert.IsNotNull(rtn); }
public void ShouldBuildAbstractTypeThenGetDecoratedWith1Arg() { MockClass2 actual = builder.BuildAssemblyFromType <MockClass2>(typeof(MockClass2), null); Decorator decorator = new ObjectDecorator(new ObjectInstantiator()); decorator.Decorate <MockClass2>(actual); Assert.AreEqual("string", actual.OtherMagic("string")); }
public void IfNotNull_WithTarget_CallFuncTR_ReturnOtherType() { var target = new MockClass1(); // Do not call Func<TR>(), return default(TR) MockClass2 otherRtn = target.IfNotNull(() => new MockClass2()); Assert.IsNotNull(otherRtn); }
public void IfNotNull_WithNullTarget_DoNotCallFuncTTR_ReturnOtherTypeNull() { var target = default(MockClass1); // Do not call Func<T,TR>(), return default(TR) MockClass2 otherRtn = target.IfNotNull(x => new MockClass2()); Assert.IsNull(otherRtn); }
public void IfNull_WithNullTarget_CallAction_ReturnSameType() { var target = default(MockClass1); var targetOther = new MockClass2(); var rtn = target.IfNull(() => targetOther.OtherMethodReturnVoid()); Assert.AreSame(rtn, target); Assert.IsTrue(targetOther.SomeMethodCalled); }
public void ResolveWithInterface() { container.Register <IMockClass1, MockClass1>(); container.Register <IMockClass2, MockClass2>(); container.Register <IMockClass3, MockClass3>(); MockClass1 mock1 = container.Resolve <IMockClass1>() as MockClass1; MockClass2 mock2 = container.Resolve <IMockClass2>() as MockClass2; MockClass3 mock3 = container.Resolve <IMockClass3>() as MockClass3; // Check that contructors have only been called once. Assert.AreEqual(1, MockClass1.constructorCalls); Assert.AreEqual(1, MockClass2.constructorCalls); Assert.AreEqual(1, MockClass3.constructorCalls); // Check that references in obejcts has been set with the correct references. Assert.IsNotNull(mock1.mock2); Assert.IsNotNull(mock1.mock3); Assert.IsNotNull(mock2.mock3); Assert.AreSame(mock1.mock2, mock2); Assert.AreSame(mock1.mock3, mock3); Assert.AreSame(mock1.mock3, mock2.mock3); }