예제 #1
0
        public void TestCsdlTypeDefinitionConstructor()
        {
            var loc = new CsdlLocation(17, 4);
            var type = new CsdlTypeDefinition("Length", "Edm.Int32", loc);

            type.Location.Should().Be(loc);
            type.Name.Should().Be("Length");
            type.UnderlyingTypeName.Should().Be("Edm.Int32");
        }
 public void CsdlSemanticsTypeDefinitionDefinitionUnitTest()
 {
     CsdlTypeDefinition typeDefinition = new CsdlTypeDefinition("Length", "Edm.String", new CsdlLocation(5, 6));
     CsdlSemanticsTypeDefinitionDefinition typeDefinitionDefinition = new CsdlSemanticsTypeDefinitionDefinition(null, typeDefinition);
     ((IEdmTypeDefinition)typeDefinitionDefinition).UnderlyingType.PrimitiveKind.Should().Be(EdmPrimitiveTypeKind.String);
     ((IEdmSchemaElement)typeDefinitionDefinition).SchemaElementKind.Should().Be(EdmSchemaElementKind.TypeDefinition);
     ((IEdmNamedElement)typeDefinitionDefinition).Name.Should().Be("Length");
     typeDefinitionDefinition.TypeKind.Should().Be(EdmTypeKind.TypeDefinition);
     typeDefinitionDefinition.Element.Should().Be(typeDefinition);
 }
예제 #3
0
        internal static CsdlSchema Schema(
            string namespaceName,
            string alias = null,
            Version version = null,
            CsdlStructuredType[] csdlStructuredTypes = default(CsdlStructuredType[]),
            CsdlEnumType[] csdlEnumTypes = default(CsdlEnumType[]),
            CsdlOperation[] csdlOperations = default(CsdlOperation[]),
            CsdlTerm[] csdlTerms = default(CsdlTerm[]),
            CsdlEntityContainer[] csdlEntityContainers = default(CsdlEntityContainer[]),
            CsdlAnnotations[] csdlAnnotations = default(CsdlAnnotations[]),
            CsdlTypeDefinition[] csdlTypeDefinitions = default(CsdlTypeDefinition[]),
            CsdlDocumentation documentation = null,
            CsdlLocation location = null)
        {
            if (csdlStructuredTypes == null)
            {
                csdlStructuredTypes = new CsdlStructuredType[] { };
            }

            if (csdlEnumTypes == null)
            {
                csdlEnumTypes = new CsdlEnumType[] { };
            }

            if (csdlOperations == null)
            {
                csdlOperations = new CsdlOperation[] { };
            }

            if (csdlTerms == null)
            {
                csdlTerms = new CsdlTerm[] { };
            }

            if (csdlEntityContainers == null)
            {
                csdlEntityContainers = new CsdlEntityContainer[] { };
            }

            if (csdlAnnotations == null)
            {
                csdlAnnotations = new CsdlAnnotations[] { };
            }

            if (csdlTypeDefinitions == null)
            {
                csdlTypeDefinitions = new CsdlTypeDefinition[] { };
            }

            var csdlSchema = new CsdlSchema(
                namespaceName,
                alias,
                version,
                csdlStructuredTypes,
                csdlEnumTypes,
                csdlOperations,
                csdlTerms,
                csdlEntityContainers,
                csdlAnnotations,
                csdlTypeDefinitions,
                documentation /*documentation*/,
                location /*location*/);

            return csdlSchema;
        }
 public CsdlSemanticsTypeDefinitionDefinition(CsdlSemanticsSchema context, CsdlTypeDefinition typeDefinition)
     : base(typeDefinition)
 {
     this.context = context;
     this.typeDefinition = typeDefinition;
 }