示例#1
1
		private object InstantiateProxy(CompositeType compositeType, Type proxyType, MockFactory mockFactory, MockStyle mockStyle, string name, object[] constructorArgs)
		{
			IInterceptor interceptor = new MockObjectInterceptor(mockFactory, compositeType, name, mockStyle);
			object[] activationArgs;

			/* ^ */ var _typeInfo = compositeType.PrimaryType.GetTypeInfo(); /* [email protected] ^ */

			if (/* ^ */ _typeInfo.IsClass /* [email protected] ^ */)
			{
				activationArgs = new object[constructorArgs.Length + 1];
				constructorArgs.CopyTo(activationArgs, 1);
				activationArgs[0] = new[] { interceptor };
			}
			else
			{
				activationArgs = new[] { new[] { interceptor }, new object(), name };
			}

			return Activator.CreateInstance(proxyType, activationArgs);
		}
示例#2
0
        public override object CreateMock(MockFactory mockFactory, CompositeType typesToMock, string name, MockStyle mockStyle, object[] constructorArgs)
        {
            if (typesToMock == null)
            {
                throw new ArgumentNullException("typesToMock");
            }

            Type primaryType = typesToMock.PrimaryType;

            Type[]       additionalInterfaces = BuildAdditionalTypeArrayForProxyType(typesToMock);
            IInterceptor mockInterceptor      = new MockObjectInterceptor(mockFactory, typesToMock, name, mockStyle);
            object       result;

            /* ^ */ var _typeInfo = primaryType.GetTypeInfo();             /* [email protected] ^ */

            if (/* ^ */ _typeInfo.IsInterface /* [email protected] ^ */)
            {
                result = generator.CreateInterfaceProxyWithoutTarget(primaryType, additionalInterfaces, new ProxyGenerationOptions {
                    BaseTypeForInterfaceProxy = typeof(InterfaceMockBase)
                }, mockInterceptor);
                ((InterfaceMockBase)result).Name = name;
            }
            else
            {
                result = generator.CreateClassProxy(primaryType, additionalInterfaces, ProxyGenerationOptions.Default, constructorArgs, mockInterceptor);
                //return generator.CreateClassProxy(primaryType, new []{typeof(IMockObject)}, mockInterceptor);
            }

            return(result);
        }
		public override object CreateMock(MockFactory mockFactory, CompositeType typesToMock, string name, MockStyle mockStyle, object[] constructorArgs)
		{
			if (typesToMock == null)
				throw new ArgumentNullException("typesToMock");

			Type primaryType = typesToMock.PrimaryType;
			Type[] additionalInterfaces = BuildAdditionalTypeArrayForProxyType(typesToMock);
			IInterceptor mockInterceptor = new MockObjectInterceptor(mockFactory, typesToMock, name, mockStyle);
			object result;

			/* ^ */ var _typeInfo = primaryType.GetTypeInfo(); /* [email protected] ^ */

			if (/* ^ */ _typeInfo.IsInterface /* [email protected] ^ */)
			{
				result = generator.CreateInterfaceProxyWithoutTarget(primaryType, additionalInterfaces, new ProxyGenerationOptions {BaseTypeForInterfaceProxy = typeof (InterfaceMockBase)}, mockInterceptor);
				((InterfaceMockBase) result).Name = name;
			}
			else
			{
				result = generator.CreateClassProxy(primaryType, additionalInterfaces, ProxyGenerationOptions.Default, constructorArgs, mockInterceptor);
				//return generator.CreateClassProxy(primaryType, new []{typeof(IMockObject)}, mockInterceptor);
			}

			return result;
		}
        private object InstantiateProxy(CompositeType compositeType, Type proxyType, MockFactory mockFactory, MockStyle mockStyle, string name, object[] constructorArgs)
        {
            IInterceptor interceptor = new MockObjectInterceptor(mockFactory, compositeType, name, mockStyle);

            object[] activationArgs;

            if (compositeType.PrimaryType.IsClass)
            {
                activationArgs = new object[constructorArgs.Length + 1];
                constructorArgs.CopyTo(activationArgs, 1);
                activationArgs[0] = new[] { interceptor };
            }
            else
            {
                activationArgs = new[] { new[] { interceptor }, new object(), name };
            }

            return(Activator.CreateInstance(proxyType, activationArgs));
        }
        private object InstantiateProxy(CompositeType compositeType, Type proxyType, MockFactory mockFactory, MockStyle mockStyle, string name, object[] constructorArgs)
        {
            IInterceptor interceptor = new MockObjectInterceptor(mockFactory, compositeType, name, mockStyle);

            object[] activationArgs;

            /* ^ */ var _typeInfo = compositeType.PrimaryType.GetTypeInfo();             /* [email protected] ^ */

            if (/* ^ */ _typeInfo.IsClass /* [email protected] ^ */)
            {
                activationArgs = new object[constructorArgs.Length + 1];
                constructorArgs.CopyTo(activationArgs, 1);
                activationArgs[0] = new[] { interceptor };
            }
            else
            {
                activationArgs = new[] { new[] { interceptor }, new object(), name };
            }

            return(Activator.CreateInstance(proxyType, activationArgs));
        }