Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
 protected void AddArgument(TestArgument item)
 {
     ProductNew.Arguments.Add(item.ProductArgument);
 }
 private void AddArgument(TestArgument item)
 {
     this.ProductIndexerReference.Indices.Add((InArgument)item.ProductArgument);
 }
Esempio n. 8
0
 public void TestMethod(string reason, long eventId, TestArgument @event)
 {
     Argument1 = reason;
     Argument2 = eventId;
     Argument3 = @event;
 }
Esempio n. 9
0
 public void TestMethod(TestArgument testArgument)
 {
     InvokedWith = testArgument;
 }
Esempio n. 10
0
 public void Setup()
 {
     _argument = new TestArgument(10, DateTime.UtcNow);
 }
Esempio n. 11
0
 private void AddArgument(TestArgument <int> item)
 {
     this.ProductMultidimensionalArrayItemReference.Indices.Add((InArgument <int>)item.ProductArgument);
 }
Esempio n. 12
0
 public void Setup()
 {
     _argument = new TestArgument(10);
 }