public void ParsingNavigationWithZeroOrOneMultiplicityContainmentEndCsdl() { var csdls = NavigationTestModelBuilder.NavigationWithZeroOrOneMultiplicityContainmentEndCsdl(); var model = this.GetParserResult(csdls); this.CheckNavigationWithMultiplicityContainmentEnd(model, EdmMultiplicity.ZeroOrOne); }
public void ParsingDerivedContainmentNavigationWithDerivedAssociationSetCsdl() { var csdls = NavigationTestModelBuilder.DerivedContainmentNavigationWithDerivedAssociationSetCsdl(); var model = this.GetParserResult(csdls); this.CheckEntityTypeNavigationCount(model, "NS.Person", 1); this.CheckEntityTypeNavigationCount(model, "NS.Employee", 2); this.CheckEntityTypeNavigationCount(model, "NS.Home", 1); this.CheckEntityTypeNavigationCount(model, "NS.Office", 2); var personToHome = model.FindEntityType("NS.Person").NavigationProperties().First(); this.CheckNavigationContainment(personToHome, true, false); var homeToPerson = model.FindEntityType("NS.Home").NavigationProperties().First(); this.CheckNavigationContainment(homeToPerson, false, true); this.CheckNavigationsArePartners(personToHome, homeToPerson); var employeeToOffice = model.FindEntityType("NS.Employee").NavigationProperties().Where(n => n.Name.Equals("ToOffice")).First(); this.CheckNavigationContainment(employeeToOffice, true, false); var officeToEmployee = model.FindEntityType("NS.Office").NavigationProperties().Where(n => n.Name.Equals("ToEmployee")).First(); this.CheckNavigationContainment(officeToEmployee, false, true); this.CheckNavigationsArePartners(employeeToOffice, officeToEmployee); var container = model.EntityContainer; var employeeSet = container.FindEntitySet("EmployeeSet"); var officeSet = container.FindEntitySet("OfficeSet"); Assert.AreEqual(officeSet.FindNavigationTarget(homeToPerson), employeeSet, "Invalid entity set navigation target."); // Contained entity set is generated dynamically. // Assert.AreEqual(employeeSet.FindNavigationTarget(homeToPerson.Partner), officeSet, "Invalid entity set navigation target."); }
public void ParsingNavigationWithValidZeroOrOneMultiplicityRecursiveContainmentEndCsdl() { var csdls = NavigationTestModelBuilder.NavigationWithValidZeroOrOneMultiplicityRecursiveContainmentEndCsdl(); var model = this.GetParserResult(csdls); this.CheckEntityTypeNavigationCount(model, "NS.Person", 4); var personNavigations = model.FindEntityType("NS.Person").NavigationProperties(); var personToFriend = personNavigations.Where(n => n.Name.Equals("ToFriend")).First(); this.CheckNavigationContainment(personToFriend, false, true); this.CheckNavigationMultiplicity(personToFriend, EdmMultiplicity.Many, EdmMultiplicity.ZeroOrOne); var personToParent = personNavigations.Where(n => n.Name.Equals("ToParent")).First(); this.CheckNavigationContainment(personToParent, false, true); this.CheckNavigationMultiplicity(personToParent, EdmMultiplicity.ZeroOrOne, EdmMultiplicity.ZeroOrOne); var friendToPerson = personNavigations.Where(n => n.Name.Equals("ToPerson")).First(); this.CheckNavigationsArePartners(personToFriend, friendToPerson); var parentToPerson = personNavigations.Where(n => n.Name.Equals("ToSelf")).First(); this.CheckNavigationsArePartners(personToParent, parentToPerson); }
public void ParsingRecursiveThreeContainmentNavigationsCsdl() { var csdls = NavigationTestModelBuilder.RecursiveThreeContainmentNavigationsCsdl(); var model = this.GetParserResult(csdls); this.CheckEntityTypeNavigationCount(model, "NS.Person", 2); this.CheckEntityTypeNavigationCount(model, "NS.Pet", 2); this.CheckEntityTypeNavigationCount(model, "NS.Home", 2); var personNavigations = model.FindEntityType("NS.Person").NavigationProperties(); var petNavigations = model.FindEntityType("NS.Pet").NavigationProperties(); var homeNavigations = model.FindEntityType("NS.Home").NavigationProperties(); var personToPet = personNavigations.Where(n => n.Name.Equals("ToPet")).First(); this.CheckNavigationContainment(personToPet, true, false); var petToPerson = petNavigations.Where(n => n.Name.Equals("ToPerson")).First(); this.CheckNavigationsArePartners(personToPet, petToPerson); var homeToPerson = homeNavigations.Where(n => n.Name.Equals("ToPerson")).First(); this.CheckNavigationContainment(homeToPerson, true, false); var personToHome = personNavigations.Where(n => n.Name.Equals("ToHome")).First(); this.CheckNavigationsArePartners(personToHome, homeToPerson); var petToHome = petNavigations.Where(n => n.Name.Equals("ToHome")).First(); this.CheckNavigationContainment(petToHome, true, false); var homeToPet = homeNavigations.Where(n => n.Name.Equals("ToPet")).First(); this.CheckNavigationsArePartners(petToHome, homeToPet); }
public void ValidateContainmentNavigationWithDifferentEnds() { var model = NavigationTestModelBuilder.ContainmentNavigationWithDifferentEnds(); var expectedErrors = new EdmLibTestErrors(); this.VerifySemanticValidation(model, EdmVersion.V40, expectedErrors); }
public void SerializeSingleSimpleContainmentNavigation() { var model = NavigationTestModelBuilder.SingleSimpleContainmentNavigation(); var csdls = NavigationTestModelBuilder.SingleSimpleContainmentNavigationCsdl(); this.SerializingValidator(model, csdls); }
public void ValidateRecursiveOneContainmentNavigationSelfPointingEntitySet() { var model = NavigationTestModelBuilder.RecursiveOneContainmentNavigationSelfPointingEntitySet(); var expectedErrors = new EdmLibTestErrors(); this.VerifySemanticValidation(model, EdmVersion.V40, expectedErrors); }
public void SerializeDerivedContainmentNavigationWithDerivedAndBaseAssociationSet() { var model = NavigationTestModelBuilder.DerivedContainmentNavigationWithDerivedAndBaseAssociationSet(); var csdls = NavigationTestModelBuilder.DerivedContainmentNavigationWithDerivedAndBaseAssociationSetCsdl(); this.SerializingValidator(model, csdls); }
public void ValidateDerivedContainmentNavigationWithDerivedAndBaseAssociationSet() { var model = NavigationTestModelBuilder.DerivedContainmentNavigationWithDerivedAndBaseAssociationSet(); var expectedErrors = new EdmLibTestErrors(); this.VerifySemanticValidation(model, EdmVersion.V40, expectedErrors); }
public void SerializeNavigationWithBothContainmentEnd() { var model = NavigationTestModelBuilder.NavigationWithBothContainmentEnds(); var csdls = NavigationTestModelBuilder.NavigationWithBothContainmentEndsCsdl(); this.SerializingValidator(model, csdls); }
public void SerializeTwoContainmentNavigationWithSameEndAddedDifferently() { var model = NavigationTestModelBuilder.TwoContainmentNavigationWithSameEndAddedDifferently(); var csdls = NavigationTestModelBuilder.TwoContainmentNavigationWithSameEndCsdl(); this.SerializingValidator(model, csdls); }
public void ParsingNavigationWithManyMultiplicityRecursiveContainmentEndCsdl() { var csdls = NavigationTestModelBuilder.NavigationWithManyMultiplicityRecursiveContainmentEndCsdl(); var model = this.GetParserResult(csdls); this.CheckNavigationWithMultiplicityRecursiveContainmentEnd(model, EdmMultiplicity.Many); }
public void SerializeMultiBindingForOneNavigationProperty() { var model = NavigationTestModelBuilder.MultiNavigationBindingModel(); var csdl = NavigationTestModelBuilder.MultiNavigationBindingModelCsdl(); this.SerializingValidator(model, csdl); }
public void ValidateSingleSimpleContainmentNavigation() { var model = NavigationTestModelBuilder.SingleSimpleContainmentNavigation(); var expectedErrors = new EdmLibTestErrors(); this.VerifySemanticValidation(model, EdmVersion.V40, expectedErrors); }
public void SerializeRecursiveThreeContainmentNavigations() { var model = NavigationTestModelBuilder.RecursiveThreeContainmentNavigations(); var csdls = NavigationTestModelBuilder.RecursiveThreeContainmentNavigationsCsdl(); this.SerializingValidator(model, csdls); }
public void SerializeRecursiveOneContainmentNavigationWithTwoEntitySet() { var model = NavigationTestModelBuilder.RecursiveOneContainmentNavigationWithTwoEntitySet(); var csdls = NavigationTestModelBuilder.RecursiveOneContainmentNavigationWithTwoEntitySetCsdl(); this.SerializingValidator(model, csdls); }
public void ValidateNavigationWithValidMultiplicityRecursiveContainmentEnd() { var model = NavigationTestModelBuilder.NavigationWithValidZeroOrOneMultiplicityRecursiveContainmentEnd(); var expectedErrors = new EdmLibTestErrors(); this.VerifySemanticValidation(model, EdmVersion.V40, expectedErrors); }
public void SerializeNavigationWithManyMultiplicityRecursiveContainmentEnd() { var model = NavigationTestModelBuilder.NavigationWithManyMultiplicityRecursiveContainmentEnd(); var csdls = NavigationTestModelBuilder.NavigationWithManyMultiplicityRecursiveContainmentEndCsdl(); this.SerializingValidator(model, csdls); }
public void ValidateDerivedContainmentNavigationWithDerivedAssociationSetCsdl() { var model = this.GetParserResult(NavigationTestModelBuilder.DerivedContainmentNavigationWithDerivedAssociationSetCsdl()); var expectedErrors = new EdmLibTestErrors(); this.VerifySemanticValidation(model, EdmVersion.V40, expectedErrors); }
public void ValidateNavigationNonKeyPrincipalPropertyRefCsdl() { var expectedErrors = new EdmLibTestErrors(); this.VerifySemanticValidation(NavigationTestModelBuilder.NavigationOneKeywithOneNonKeyPrincipalPropertyRefCsdl(), EdmVersion.V40, expectedErrors); this.VerifySemanticValidation(NavigationTestModelBuilder.NavigationTwoNonKeyPrincipalPropertyRefCsdl(), EdmVersion.V40, expectedErrors); this.VerifySemanticValidation(NavigationTestModelBuilder.NavigationOneNonKeyPrincipalPropertyRefCsdl(), EdmVersion.V40, expectedErrors); }
public void ValidateNavigationZeroOnePrincipalWithNotNullableDependentCsdl() { var expectedErrors = new EdmLibTestErrors() { { null, null, EdmErrorCode.InvalidMultiplicityOfPrincipalEnd } }; this.VerifySemanticValidation(NavigationTestModelBuilder.NavigationZeroOnePrincipalWithNotNullableDependentCsdl(), EdmVersion.V40, expectedErrors); }
public void ValidateNavigationDuplicateReferentialConstraintCsdl() { var expectedErrors = new EdmLibTestErrors() { { null, null, EdmErrorCode.DuplicateDependentProperty } }; this.VerifySemanticValidation(NavigationTestModelBuilder.NavigationDuplicateReferentialConstraintCsdl(), EdmVersion.V40, expectedErrors); }
public void ValidateRecursiveOneContainmentNavigationInheritedSelfPointingEntitySet() { var expectedErrors = new EdmLibTestErrors() { { null, null, EdmErrorCode.EntitySetRecursiveNavigationPropertyMappingsMustPointBackToSourceEntitySet } }; var model = NavigationTestModelBuilder.RecursiveOneContainmentNavigationInheritedSelfPointingEntitySet(); this.VerifySemanticValidation(model, EdmVersion.V40, expectedErrors); }
public void ValidateTwoContainmentNavigationWithSameEndAddedDifferently() { var model = NavigationTestModelBuilder.TwoContainmentNavigationWithSameEndAddedDifferently(); var expectedErrors = new EdmLibTestErrors() { { null, null, EdmErrorCode.EntitySetCanOnlyBeContainedByASingleNavigationProperty } }; this.VerifySemanticValidation(model, EdmVersion.V40, expectedErrors); }
public void ValidateNavigationWithInvaliZeroOrOnedMultiplicityRecursiveContainmentEnd() { var model = NavigationTestModelBuilder.NavigationWithInvaliZeroOrOnedMultiplicityRecursiveContainmentEnd(); var expectedErrors = new EdmLibTestErrors() { { null, null, EdmErrorCode.NavigationPropertyWithRecursiveContainmentTargetMustBeOptional } }; this.VerifySemanticValidation(model, EdmVersion.V40, expectedErrors); }
public void ValidateNavigationPrincipalPropertyRefDoesNotCorrespondToDependentPropertyRefCsdl() { var expectedErrors = new EdmLibTestErrors() { { null, null, EdmErrorCode.TypeMismatchRelationshipConstraint }, { null, null, EdmErrorCode.TypeMismatchRelationshipConstraint } }; this.VerifySemanticValidation(NavigationTestModelBuilder.NavigationPrincipalPropertyRefDoesNotCorrespondToDependentPropertyRefCsdl(), EdmVersion.V40, expectedErrors); }
public void ValidateNavigationZeroOnePrincipalWithAllNullableKeyDependentModel() { var expectedErrors = new EdmLibTestErrors() { { null, null, EdmErrorCode.InvalidKey }, { null, null, EdmErrorCode.InvalidKey } }; this.VerifySemanticValidation(NavigationTestModelBuilder.NavigationZeroOnePrincipalWithAllNullableKeyDependentModel(), EdmVersion.V40, expectedErrors); }
public void ValidateNavigationWithEmptyNameModel() { var expectedErrors = new EdmLibTestErrors() { { null, null, EdmErrorCode.InvalidName } }; var model = NavigationTestModelBuilder.NavigationWithEmptyNameModel(); this.VerifySemanticValidation(model, EdmVersion.V40, expectedErrors); }
public void ValidateNavigationWithBothContainmentEnds() { var model = NavigationTestModelBuilder.NavigationWithBothContainmentEnds(); var expectedErrors = new EdmLibTestErrors() { { null, null, EdmErrorCode.NavigationPropertyEntityMustNotIndirectlyContainItself }, { null, null, EdmErrorCode.NavigationPropertyEntityMustNotIndirectlyContainItself } }; this.VerifySemanticValidation(model, EdmVersion.V40, expectedErrors); }
public void ValidateNavigationPropertyOfCollectionTypeTargetToSingleton() { var model = NavigationTestModelBuilder.NavigationPropertyOfCollectionTypeTargetToSingleton(); var expectedErrors = new EdmLibTestErrors() { { null, null, EdmErrorCode.NavigationPropertyOfCollectionTypeMustNotTargetToSingleton }, }; this.VerifySemanticValidation(model, EdmVersion.V40, expectedErrors); }