コード例 #1
0
        public void ShouldNotFailOnDoubleDisposeTest()
        {
            MockAspectDynamicInvoker mockAspectDynamicInvoker;

            mockAspectDynamicInvoker = new MockAspectDynamicInvoker();

            Assert.IsNotNull(mockAspectDynamicInvoker);

            mockAspectDynamicInvoker.Dispose();
            mockAspectDynamicInvoker.Dispose();
        }
コード例 #2
0
        public void ShouldFailOnNullMethodInfoInvokeTest()
        {
            MockAspectDynamicInvoker mockAspectDynamicInvoker;
            object     proxyInstance;
            Type       proxiedType;
            MethodInfo invokedMethodInfo;

            object[] invocationParameters;

            proxyInstance        = new object();
            proxiedType          = typeof(IMockObject);
            invokedMethodInfo    = null;
            invocationParameters = new object[] { };

            mockAspectDynamicInvoker = new MockAspectDynamicInvoker();
            mockAspectDynamicInvoker.Invoke(proxiedType, invokedMethodInfo, proxyInstance, invocationParameters);
        }
コード例 #3
0
        public void ShouldFailOnNullTargetInstanceInvokeTest()
        {
            MockAspectDynamicInvoker mockAspectDynamicInvoker;
            object     proxyInstance;
            Type       proxiedType;
            MethodInfo invokedMethodInfo;

            object[] invocationParameters;

            proxyInstance     = null;
            proxiedType       = typeof(IMockObject);
            invokedMethodInfo = (MethodInfo)MemberInfoProxy <IMockObject> .GetLastMemberInfo(exec => exec.ToString());

            invocationParameters = new object[] { };

            mockAspectDynamicInvoker = new MockAspectDynamicInvoker();
            mockAspectDynamicInvoker.Invoke(proxiedType, invokedMethodInfo, proxyInstance, invocationParameters);
        }
コード例 #4
0
        public void ShouldThrowOnProceedInvokeTest()
        {
            MockAspectDynamicInvoker mockAspectDynamicInvoker;
            object     proxyInstance;
            Type       proxiedType;
            MethodInfo invokedMethodInfo;

            object[] invocationParameters;
            object   returnValue;

            proxyInstance     = new object();
            proxiedType       = typeof(IMockObject);
            invokedMethodInfo = (MethodInfo)MemberInfoProxy <IMockObject> .GetLastMemberInfo(exec => exec.ToString());

            invocationParameters = new object[] { };

            mockAspectDynamicInvoker = new MockAspectDynamicInvoker(new InvalidOperationException());
            returnValue = mockAspectDynamicInvoker.Invoke(proxiedType, invokedMethodInfo, proxyInstance, invocationParameters);
        }
コード例 #5
0
        public void ShouldToStringInvokeTest()
        {
            MockAspectDynamicInvoker mockAspectDynamicInvoker;
            object     proxyInstance;
            Type       proxiedType;
            MethodInfo invokedMethodInfo;

            object[] invocationParameters;
            object   returnValue;

            proxyInstance     = new object();
            proxiedType       = typeof(IMockObject);
            invokedMethodInfo = (MethodInfo)MemberInfoProxy <IMockObject> .GetLastMemberInfo(exec => exec.ToString());

            invocationParameters = new object[] { };

            mockAspectDynamicInvoker = new MockAspectDynamicInvoker(new MockObject());
            returnValue = mockAspectDynamicInvoker.Invoke(proxiedType, invokedMethodInfo, proxyInstance, invocationParameters);

            Assert.AreEqual(typeof(MockObject).FullName, returnValue);
        }
コード例 #6
0
        public void ShouldDisposeInvokeTest()
        {
            MockAspectDynamicInvoker mockAspectDynamicInvoker;
            object     proxyInstance;
            Type       proxiedType;
            MethodInfo invokedMethodInfo;

            object[] invocationParameters;
            object   returnValue;

            proxyInstance     = new object();
            proxiedType       = typeof(IDisposable);
            invokedMethodInfo = (MethodInfo)MemberInfoProxy <IDisposable> .GetLastMemberInfo(exec => exec.Dispose());

            invocationParameters = new object[] { };

            mockAspectDynamicInvoker = new MockAspectDynamicInvoker();
            returnValue = mockAspectDynamicInvoker.Invoke(proxiedType, invokedMethodInfo, proxyInstance, invocationParameters);

            Assert.IsNull(returnValue);
            Assert.IsFalse(mockAspectDynamicInvoker.Disposed);
        }
コード例 #7
0
        public void ShouldCloneInvokeTest()
        {
            MockAspectDynamicInvoker mockAspectDynamicInvoker;
            object     proxyInstance;
            Type       proxiedType;
            MethodInfo invokedMethodInfo;

            object[] invocationParameters;
            object   returnValue;

            proxyInstance     = new object();
            proxiedType       = typeof(ICloneable);
            invokedMethodInfo = (MethodInfo)MemberInfoProxy <ICloneable> .GetLastMemberInfo(exec => exec.Clone());

            invocationParameters = new object[] { };

            mockAspectDynamicInvoker = new MockAspectDynamicInvoker();
            returnValue = mockAspectDynamicInvoker.Invoke(proxiedType, invokedMethodInfo, proxyInstance, invocationParameters);

            Assert.IsNull(returnValue);
            Assert.AreEqual("ICloneable::Clone", mockAspectDynamicInvoker.lastOperationName);
        }