예제 #1
0
        public void CreateProxyFromInterfaceWithVoidReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(null);

            // Act
            var proxy = _proxyFactory.CreateProxy<IVoidReturnValue>(Type.EmptyTypes, invocationHandler);

            proxy.Method();
        }
예제 #2
0
        public void CreateProxyFromInterfaceWithGenericReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler("Two");

            // Act
            var proxy = _proxyFactory.CreateProxy<IGenericReturnValue>(Type.EmptyTypes, invocationHandler);
            var value = proxy.Method<string>();

            // Assert
            Assert.That(value, Is.EqualTo("Two"));
        }
예제 #3
0
        public void CreateProxyFromInterfaceWithStructReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(new StructType { Integer = 2, String = "2" });

            // Act
            var proxy = _proxyFactory.CreateProxy<IStructReturnValue>(Type.EmptyTypes, invocationHandler);
            var value = proxy.Method();

            // Assert
            Assert.That(value, Is.EqualTo(new StructType { Integer = 2, String = "2" }));
        }
예제 #4
0
        public void CreateProxyFromDelegateWithStructArrayReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(new[] { new StructType { Integer = 2, String = "2" } });

            // Act
            var proxy = _proxyFactory.CreateProxy<Func<StructType[]>>(Type.EmptyTypes, invocationHandler);
            var value = proxy();

            // Assert
            Assert.That(value, Is.EqualTo(new[] { new StructType { Integer = 2, String = "2" } }));
        }
예제 #5
0
        public void CreateProxyFromInterfaceWithEnumReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(EnumType.Two);

            // Act
            var proxy = _proxyFactory.CreateProxy<IEnumReturnValue>(Type.EmptyTypes, invocationHandler);
            var value = proxy.Method();

            // Assert
            Assert.That(value, Is.EqualTo(EnumType.Two));
        }
예제 #6
0
        public void CreateProxyFromDelegateWithStringReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler("2");

            // Act
            var proxy = _proxyFactory.CreateProxy<Func<string>>(Type.EmptyTypes, invocationHandler);
            var value = proxy();

            // Assert
            Assert.That(value, Is.EqualTo("2"));
        }
예제 #7
0
        public void CreateProxyFromDelegateWithEnumArrayReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(new[] { EnumType.Two });

            // Act
            var proxy = _proxyFactory.CreateProxy<Func<EnumType[]>>(Type.EmptyTypes, invocationHandler);
            var value = proxy();

            // Assert
            Assert.That(value, Is.EqualTo(new[] { EnumType.Two }));
        }
예제 #8
0
        public void CreateProxyFromClassWithStringArrayReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(new[] { "2" });

            // Act
            var proxy = _proxyFactory.CreateProxy<StringArrayReturnValue>(Type.EmptyTypes, invocationHandler);
            var value = proxy.Method();

            // Assert
            Assert.That(value, Is.EqualTo(new[] { "2" }));
        }
예제 #9
0
        public void CreateProxyFromClassWithGenericListReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(new List<string> { "Two" });

            // Act
            var proxy = _proxyFactory.CreateProxy<GenericListReturnValue>(Type.EmptyTypes, invocationHandler);
            var value = proxy.Method<string>();

            // Assert
            Assert.That(value, Is.EqualTo(new List<string> { "Two" }));
        }
예제 #10
0
        public void CreateProxyFromAbstractClassWithIntReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(2);

            // Act
            var proxy = _proxyFactory.CreateProxy<IntReturnValueBase>(Type.EmptyTypes, invocationHandler);
            var value = proxy.Method();

            // Assert
            Assert.That(value, Is.EqualTo(2));
        }