public void ImplicitLoadAssemblyForType_checks_only_given_assembly_for_views_if_assembly_not_filtered() { var mockCache = new Mock <IViewAssemblyCache>(); var workspace = new MetadataWorkspace( () => new EdmItemCollection(Enumerable.Empty <XmlReader>()), () => null, () => null, () => new ObjectItemCollection(mockCache.Object)); workspace.ImplicitLoadAssemblyForType(typeof(FactAttribute), null); mockCache.Verify(m => m.CheckAssembly(typeof(FactAttribute).Assembly, false), Times.Once()); }
public void ImplicitLoadAssemblyForType_checks_only_calling_assembly_for_views_if_type_assembly_filtered_and_no_schema_attribute() { var mockCache = new Mock <IViewAssemblyCache>(); var workspace = new MetadataWorkspace( () => new EdmItemCollection(Enumerable.Empty <XmlReader>()), () => null, () => null, () => new ObjectItemCollection(mockCache.Object)); workspace.ImplicitLoadAssemblyForType(typeof(object), typeof(FactAttribute).Assembly); mockCache.Verify(m => m.CheckAssembly(typeof(object).Assembly, It.IsAny <bool>()), Times.Never()); mockCache.Verify(m => m.CheckAssembly(typeof(FactAttribute).Assembly, false), Times.Once()); }
public void ImplicitLoadAssemblyForType_checks_calling_schema_assembly_and_references_for_views_if_type_assembly_filtered() { var assembly = new DynamicAssembly(); assembly.HasAttribute(new EdmSchemaAttribute()); var callingAssembly = assembly.Compile(new AssemblyName("WithEdmSchemaAttribute")); var mockCache = new Mock <IViewAssemblyCache>(); var workspace = new MetadataWorkspace( () => new EdmItemCollection(Enumerable.Empty <XmlReader>()), () => null, () => null, () => new ObjectItemCollection(mockCache.Object)); workspace.ImplicitLoadAssemblyForType(typeof(object), callingAssembly); mockCache.Verify(m => m.CheckAssembly(typeof(object).Assembly, It.IsAny <bool>()), Times.Never()); mockCache.Verify(m => m.CheckAssembly(callingAssembly, true), Times.Once()); }
internal static bool TryDetermineCSpaceModelType(Type type, MetadataWorkspace workspace, out EdmType modelEdmType) { Debug.Assert(null != workspace); Type nonNullabelType = TypeSystem.GetNonNullableType(type); // make sure the workspace knows about T workspace.ImplicitLoadAssemblyForType(nonNullabelType, System.Reflection.Assembly.GetCallingAssembly()); ObjectItemCollection objectItemCollection = (ObjectItemCollection)workspace.GetItemCollection(DataSpace.OSpace); EdmType objectEdmType; if (objectItemCollection.TryGetItem <EdmType>(nonNullabelType.FullName, out objectEdmType)) { Map map; if (workspace.TryGetMap(objectEdmType, DataSpace.OCSpace, out map)) { ObjectTypeMapping objectMapping = (ObjectTypeMapping)map; modelEdmType = objectMapping.EdmType; return(true); } } modelEdmType = null; return(false); }
public void ImplicitLoadAssemblyForType_checks_calling_schema_assembly_and_references_for_views_if_type_assembly_filtered() { var assembly = new DynamicAssembly(); assembly.HasAttribute(new EdmSchemaAttribute()); var callingAssembly = assembly.Compile(new AssemblyName("WithEdmSchemaAttribute")); var mockCache = new Mock<IViewAssemblyCache>(); var workspace = new MetadataWorkspace( () => new EdmItemCollection(Enumerable.Empty<XmlReader>()), () => null, () => null, () => new ObjectItemCollection(mockCache.Object)); workspace.ImplicitLoadAssemblyForType(typeof(object), callingAssembly); mockCache.Verify(m => m.CheckAssembly(typeof(object).Assembly, It.IsAny<bool>()), Times.Never()); mockCache.Verify(m => m.CheckAssembly(callingAssembly, true), Times.Once()); }
public void ImplicitLoadAssemblyForType_checks_only_calling_assembly_for_views_if_type_assembly_filtered_and_no_schema_attribute() { var mockCache = new Mock<IViewAssemblyCache>(); var workspace = new MetadataWorkspace( () => new EdmItemCollection(Enumerable.Empty<XmlReader>()), () => null, () => null, () => new ObjectItemCollection(mockCache.Object)); workspace.ImplicitLoadAssemblyForType(typeof(object), typeof(FactAttribute).Assembly); mockCache.Verify(m => m.CheckAssembly(typeof(object).Assembly, It.IsAny<bool>()), Times.Never()); mockCache.Verify(m => m.CheckAssembly(typeof(FactAttribute).Assembly, false), Times.Once()); }
public void ImplicitLoadAssemblyForType_checks_only_given_assembly_for_views_if_assembly_not_filtered() { var mockCache = new Mock<IViewAssemblyCache>(); var workspace = new MetadataWorkspace( () => new EdmItemCollection(Enumerable.Empty<XmlReader>()), () => null, () => null, () => new ObjectItemCollection(mockCache.Object)); workspace.ImplicitLoadAssemblyForType(typeof(FactAttribute), null); mockCache.Verify(m => m.CheckAssembly(typeof(FactAttribute).Assembly, false), Times.Once()); }