public void Invoke_Void_NoValidMock_Strict() { // arrange var arg = new object(); var method = new MethodMockBuilder(null, new[] { Dx.Args<object>(a => { Assert.AreEqual(a, arg); return false; }) }); var values = new MockBuilder(); ((dynamic)values).abc = new MethodGroup(method); var subject = new ObjectBase(DxSettings.GlobalSettings, values, true); // act // assert Assert.Throws(typeof(InvalidMockException), () => subject.Invoke("abc", new[] { new MethodArg<object>(arg, string.Empty) })); }
public void Invoke_Void_NoValidMock_NonStrict() { // arrange var ok = false; var arg = new object(); var method = new MethodMockBuilder(null, new[] { Dx.Args<object>(a => { ok = true; Assert.AreEqual(a, arg); return false; }) }); var values = new MockBuilder(); ((dynamic)values).abc = new MethodGroup(method); var subject = new ObjectBase(DxSettings.GlobalSettings, values); // act // assert subject.Invoke("abc", new[] { new MethodArg<object>(arg, string.Empty) }); Assert.IsTrue(ok); }
public void Invoke_Void_NoMock_Strict() { // arrange var arg = new object(); var values = new MockBuilder(); ((dynamic)values).abc = new MethodGroup(); var subject = new ObjectBase(DxSettings.GlobalSettings, values, true); // act // assert Assert.Throws(typeof(InvalidMockException), () => subject.Invoke("abc", new[] { new MethodArg<object>(arg, string.Empty) })); }
public void Invoke_Void_NoMock_NonStrict() { // arrange var arg = new object(); var values = new MockBuilder(); ((dynamic)values).abc = new MethodGroup(); var subject = new ObjectBase(DxSettings.GlobalSettings, values); // act // assert subject.Invoke("abc", new[] { new MethodArg<object>(arg, string.Empty) }); }
public void Invoke_NonVoid_VoidMethod_RefType() { // arrange var ok = false; var arg = new object(); var method = new MethodMockBuilder(null, new[] { Dx.Args<object>(a => { ok = true; return true; }) }); var values = new MockBuilder(); ((dynamic)values).abc = new MethodGroup(method); var subject = new ObjectBase(DxSettings.GlobalSettings, values); // act // assert var output = subject.Invoke<int>("abc", new[] { new MethodArg<object>(arg, string.Empty) }); Assert.AreEqual(output, 0); Assert.IsTrue(ok); }
public void Invoke_NonVoid_Null() { // arrange var ok = false; var arg = new object(); object returnVal = null; var method = new MethodMockBuilder(null, new[] { Dx.Args<object>(a => { ok = true; return a == arg; }) }); (method as dynamic).DxReturns(returnVal); var values = new MockBuilder(); ((dynamic)values).abc = new MethodGroup(method); var subject = new ObjectBase(DxSettings.GlobalSettings, values); // act // assert var output = subject.Invoke<object>("abc", new[] { new MethodArg<object>(arg, string.Empty) }); Assert.AreEqual(returnVal, output); Assert.IsTrue(ok); }