예제 #1
0
        public BridgeType AddBridgeType(BridgeTypes bridgeTypes, TypeDescriptor typeDescriptor)
        {
            var type = SubstituteType(typeDescriptor);

            var key        = type.FullName;
            var bridgeType = Substitute.For <BridgeType>(key);

            bridgeType.Type.Returns(type);

            if (typeDescriptor.InThisAssembly)
            {
                var typeInfo = Substitute.For <ITypeInfo>();
                typeInfo.Name.Returns(type.Name);
                typeInfo.Namespace.Returns(type.Namespace);
                typeInfo.Key.Returns(key);

                bridgeType.TypeInfo.Returns(typeInfo);
            }
            else
            {
                ITypeInfo typeInfo = null;
                bridgeType.TypeInfo.Returns(typeInfo);
            }

            bridgeTypes.Add(key, bridgeType);

            return(bridgeType);
        }