예제 #1
0
        public void CreateProxyFromAbstractClassWithAsyncReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(Task.Delay(1000));

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

            // Assert
            Assert.That(task.IsCompleted, Is.False);
        }
예제 #2
0
        public void CreateProxyFromAbstractClassWithVoidReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(null);

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

            proxy.Method();
        }
예제 #3
0
        public void CreateProxyFromAbstractClassWithStructReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(new StructType {Integer = 2, String = "2"});

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

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

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

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

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

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

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

            // Assert
            Assert.That(value, Is.EqualTo("2"));
        }
예제 #7
0
        public void CreateProxyFromDelegateWithStructReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(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 StructType {Integer = 2, String = "2"}));
        }
예제 #8
0
        public void CreateProxyFromDelegateWithIntReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(2);

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

            // Assert
            Assert.That(value, Is.EqualTo(2));
        }
예제 #9
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}));
        }
예제 #10
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"}));
        }
예제 #11
0
        public void CreateProxyFromAbstractClassWithEnumArrayReturnValueTest()
        {
            // Arrange
            var invocationHandler = new SetReturnValueInvocationHandler(new[] {EnumType.Two});

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

            // Assert
            Assert.That(value, Is.EqualTo(new[] {EnumType.Two}));
        }