public void GenericInterfacesMustBeProxiedByNonGenericMethod() { var arg1 = new TestArgument2(); var arg2 = new TestArgument(); var expectedResult1 = new TestArgument4(); var expectedResult2 = new TestArgument2(); var proxyObject = LazyProxyBuilder.CreateInstance( typeof(IGenericTestService <TestArgument2, TestArgument, TestArgument4>), () => { var mock = new Mock <IGenericTestService <TestArgument2, TestArgument, TestArgument4> >( MockBehavior.Strict); mock.Setup(s => s.Method1(arg1, arg2)).Returns(expectedResult1); mock.Setup(s => s.Method2(arg1, arg2)).Returns(expectedResult2); return(mock.Object); }); var proxy = proxyObject as IGenericTestService <TestArgument2, TestArgument, TestArgument4>; Assert.NotNull(proxy); var actualResult1 = proxy.Method1(arg1, arg2); var actualResult2 = proxy.Method2(arg1, arg2); Assert.Equal(expectedResult1, actualResult1); Assert.Equal(expectedResult2, actualResult2); }
public void PropertyGettersMustBeProxied() { var result1 = new TestArgument(); const int result2 = 3; var proxy = LazyProxyBuilder.CreateInstance(() => { var mock = new Mock <ITestService>(MockBehavior.Strict); mock.Setup(s => s.Property).Returns(result1); mock.Setup(s => s.ParentProperty).Returns(result2); return(mock.Object); }); Assert.Equal(result1, proxy.Property); Assert.Equal(result2, proxy.ParentProperty); }
public void MethodsWithRefValuesMustBeProxied() { var refArg = new TestArgument(); const string expectedResult = "result"; var proxy = LazyProxyBuilder.CreateInstance(() => { var mock = new Mock <ITestService>(MockBehavior.Strict); // ReSharper disable once AccessToModifiedClosure mock.Setup(s => s.MethodWithRefValue(ref refArg)).Returns(expectedResult); return(mock.Object); }); var actualResult = proxy.MethodWithRefValue(ref refArg); Assert.Equal(expectedResult, actualResult); }
public void MethodsMustBeProxied() { const string arg1 = "test"; const int arg2 = 7; var arg3 = new TestArgument(); const bool arg4 = true; const string result1 = "result1"; const string result2 = "result2"; var proxy = LazyProxyBuilder.CreateInstance(() => { var mock = new Mock <ITestService>(MockBehavior.Strict); mock.Setup(s => s.Method(arg1, arg2, arg3)).Returns(result1); mock.Setup(s => s.ParentMethod(arg4)).Returns(result2); return(mock.Object); }); Assert.Equal(result1, proxy.Method(arg1, arg2, arg3)); Assert.Equal(result2, proxy.ParentMethod(arg4)); }
public void PropertySettersMustBeProxied() { var value1 = new TestArgument(); const int value2 = 3; Mock <ITestService> mock = null; var proxy = LazyProxyBuilder.CreateInstance(() => { mock = new Mock <ITestService>(MockBehavior.Strict); mock.SetupSet(s => s.Property = value1); mock.SetupSet(s => s.ParentProperty = value2); return(mock.Object); }); proxy.Property = value1; proxy.ParentProperty = value2; mock.VerifySet(s => s.Property = value1); mock.VerifySet(s => s.ParentProperty = value2); }
protected void AddArgument(TestArgument item) { ProductNew.Arguments.Add(item.ProductArgument); }
private void AddArgument(TestArgument item) { this.ProductIndexerReference.Indices.Add((InArgument)item.ProductArgument); }
public void TestMethod(string reason, long eventId, TestArgument @event) { Argument1 = reason; Argument2 = eventId; Argument3 = @event; }
public void TestMethod(TestArgument testArgument) { InvokedWith = testArgument; }
public void Setup() { _argument = new TestArgument(10, DateTime.UtcNow); }
private void AddArgument(TestArgument <int> item) { this.ProductMultidimensionalArrayItemReference.Indices.Add((InArgument <int>)item.ProductArgument); }
public void Setup() { _argument = new TestArgument(10); }