コード例 #1
0
        public void ValidateKeyAnnotationElementSupportInV40()
        {
            // [EdmLib] Key, ReturnType, Schema, Principle, Dependent, OnDelete do not support annotations. - won't fixed.
            var expectedErrors = new EdmLibTestErrors();

            this.VerifySemanticValidation(ValidationTestModelBuilder.KeyAnnotationElementSupportInV40(EdmVersion.V40), EdmVersion.V40, expectedErrors);
        }
コード例 #2
0
ファイル: SerializerTests.cs プロジェクト: zhonli/odata.net
        public void SerializerTestModelWithInconsistentNavigationPropertyPartner()
        {
            var model       = ValidationTestModelBuilder.ModelWithInconsistentNavigationPropertyPartner();
            var resultCsdls = this.GetSerializerResult(model).Select(n => XElement.Parse(n));

            Assert.AreEqual(1, resultCsdls.Count(), "Invalid csdl count created.");
        }
コード例 #3
0
        public void ValidateFunctionImportAnnotationElementSupportInV40()
        {
            var expectedErrors = new EdmLibTestErrors()
            {
            };

            this.VerifySemanticValidation(ValidationTestModelBuilder.OperationImportAnnotationElementSupportInV40(EdmVersion.V40), EdmVersion.V40, expectedErrors);
        }
コード例 #4
0
        public void SerializerOperationParameterShouldBeInboundCsdlSchemaCompliantTest()
        {
            var edmVersions = new EdmVersion[] { EdmVersion.V40 };

            foreach (var edmVersion in edmVersions)
            {
                this.BasicXsdValidationTestForSerializerOutputCsdl(ValidationTestModelBuilder.OperationParameterShouldBeInbound(), edmVersion);
            }
        }
コード例 #5
0
        public void ParserSimpleIdentifierTypeReferenceCsdlSchemaCompliantTest()
        {
            var edmVersions = new EdmVersion[] { EdmVersion.V40 };

            foreach (var edmVersion in edmVersions)
            {
                this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.CollectionTypeTypeRefSimpleTypeCanHaveFacets(edmVersion), edmVersion);
            }
        }
コード例 #6
0
        public void ValidateEntityContainerAnnotationElementSupportInV40()
        {
            var expectedErrors = new EdmLibTestErrors()
            {
                { 5, 6, EdmErrorCode.DuplicateDirectValueAnnotationFullName },
            };

            this.VerifySemanticValidation(ValidationTestModelBuilder.EntityContainerAnnotationElementSupportInV40(EdmVersion.V40), EdmVersion.V40, expectedErrors);
        }
コード例 #7
0
        public void ValidateAnnotationElementFullNameShouldBeUnique()
        {
            var expectedErrors = new EdmLibTestErrors()
            {
                { null, null, EdmErrorCode.DuplicateDirectValueAnnotationFullName }
            };

            this.VerifySemanticValidation(ValidationTestModelBuilder.AnnotationElementFullNameShouldBeUnique(this.EdmVersion), expectedErrors);
        }
コード例 #8
0
        public void ParserModelWithEnumValueTerm()
        {
            var edmVersions = new EdmVersion[] { EdmVersion.V40 };

            foreach (var edmVersion in edmVersions)
            {
                Assert.IsFalse(this.GetXsdValidationResults(ValidationTestModelBuilder.ModelWithEnumValueTerm(), edmVersion).Any(), "EnumType should be able to have inline vocab. annotations");
            }
        }
コード例 #9
0
        public void ParserOpenTypeSupportCsdlSchemaCompliantTest()
        {
            var edmVersions = new EdmVersion[] { EdmVersion.V40 };

            foreach (var edmVersion in edmVersions)
            {
                this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.OpenTypeSupportInV40(edmVersion), edmVersion);
                this.BasicXsdValidationTestForParserInputCsdl(ODataTestModelBuilder.ODataTestModelWithOpenType, edmVersion);
            }
        }
コード例 #10
0
        public void SerializerModelWithInvalidFunctionImportReturnTypeCsdlSchemaCompliantTest()
        {
            Console.WriteLine(DateTime.Now.ToShortDateString());
            var edmVersions = new EdmVersion[] { EdmVersion.V40 };

            foreach (var edmVersion in edmVersions)
            {
                this.BasicXsdValidationTestForSerializerOutputCsdl(ValidationTestModelBuilder.ModelWithInvalidFunctionReturnType(), edmVersion);
            }
        }
コード例 #11
0
        public void SerializerModelWithAssociationEndAsInaccessibleEntityTypeCsdlSchemaCompliantTest()
        {
            var edmVersions = new EdmVersion[] { EdmVersion.V40 };

            foreach (var edmVersion in edmVersions)
            {
                this.BasicXsdValidationTestForSerializerOutputCsdl(ValidationTestModelBuilder.ModelWithAssociationEndAsInaccessibleEntityType(), edmVersion);
                this.BasicXsdValidationTestForSerializerOutputCsdl(ValidationTestModelBuilder.ModelWithInconsistentNavigationPropertyPartner(), edmVersion);
            }
        }
コード例 #12
0
        public void SerializerModelWithRowTypePropertyOfTypeNoneCsdlSchemaCompliantTest()
        {
            var edmVersions = new EdmVersion[] { EdmVersion.V40 };

            foreach (var edmVersion in edmVersions)
            {
                this.BasicXsdValidationTestForSerializerOutputCsdl(ValidationTestModelBuilder.ModelWithInvalidOperationReturnType(), edmVersion);
                this.BasicXsdValidationTestForSerializerOutputCsdl(ValidationTestModelBuilder.ModelWithInvalidOperationParameterType(), edmVersion);
            }
        }
コード例 #13
0
        public void ParserInvalidDecimalTypePrecisionCsdlSchemaCompliantTest()
        {
            var edmVersions = new EdmVersion[] { EdmVersion.V40 };

            foreach (var edmVersion in edmVersions)
            {
                this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.ValidDecimalTypePrecisionValue(edmVersion), edmVersion);
                this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.ValidDateTimeOffsetTypePrecisionValue(edmVersion), edmVersion);
                this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.ValidTimeTypePrecisionValue(edmVersion), edmVersion);
            }
        }
コード例 #14
0
        public void ParserComplexTypeWithBaseTypeAbstractCsdlSchemaCompliantTest()
        {
            var edmVersions = new EdmVersion[] { EdmVersion.V40 };

            foreach (var edmVersion in edmVersions)
            {
                this.BasicXsdValidationTestForParserInputCsdl(ModelBuilder.ComplexTypeWithBaseType(edmVersion), edmVersion);
                this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.ComplexTypeBaseTypeSupportInV11(edmVersion), edmVersion);
                this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.EdmComplexTypeInvalidIsPolymorphic(edmVersion), edmVersion);
                this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.ComplexTypeIsAbstractSupportInV40(edmVersion), edmVersion);
            }
        }
コード例 #15
0
ファイル: SerializerTests.cs プロジェクト: zhonli/odata.net
        public void SerializerTestModelWithCircularPartner()
        {
            var model          = ValidationTestModelBuilder.ModelWithCircularNavigationPartner();
            var expectedErrors = new EdmLibTestErrors()
            {
                { "(EdmLibTests.StubEdm.StubEdmNavigationProperty)", EdmErrorCode.InterfaceCriticalNavigationPartnerInvalid }
            };

            IEnumerable <EdmError> edmErrors;

            this.GetSerializerResult(model, out edmErrors);
            this.CompareErrors(expectedErrors, edmErrors);
        }
コード例 #16
0
        public void SerializerModelWithMismatchedBaseTypeCsdlSchemaCompliantTests()
        {
            var edmVersions = new EdmVersion[] { EdmVersion.V40 };

            foreach (var edmVersion in edmVersions)
            {
                this.BasicXsdValidationTestForSerializerOutputCsdl(ValidationTestModelBuilder.ModelWithComplexTypeWithEntityBaseType(), edmVersion);
                this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.ModelWithComplexTypeWithEntityBaseTypeCsdl(edmVersion), edmVersion);
                this.BasicXsdValidationTestForSerializerOutputCsdl(ValidationTestModelBuilder.ModelWithEntityTypeWithComplexBaseType(), edmVersion);
                this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.ModelWithEntityTypeWithComplexBaseTypeCsdl(edmVersion), edmVersion);
                this.BasicXsdValidationTestForSerializerOutputCsdl(ValidationTestModelBuilder.ModelWithInvalidDependentProperties(), edmVersion);
            }
        }
コード例 #17
0
        // [EdmLib] [Validator] Add more version related semantic rules for annotation elements. - postponed
        public void ValidateAnnotationElementRelatedRulesInV12OrLower()
        {
            var expectedErrors = new EdmLibTestErrors()
            {
                // TODO: Need to update after the attached bug is fixed.
            };

            this.VerifySemanticValidation(ValidationTestModelBuilder.OperationImportAnnotationElementSupportInV40(EdmVersion.V40), EdmVersion.V40, expectedErrors);
            expectedErrors = new EdmLibTestErrors()
            {
                // TODO: Need to update after the attached bug is fixed.
                { 5, 6, EdmErrorCode.DuplicateDirectValueAnnotationFullName }
            };
            this.VerifySemanticValidation(ValidationTestModelBuilder.EntityContainerAnnotationElementSupportInV40(EdmVersion.V40), EdmVersion.V40, expectedErrors);
        }