public void EnsureNoDuplicateFoundForFunctionShouldReturnFalse() { EdmModel otherModel = new EdmModel(); var entityType = new EdmEntityType("n.s", "GetStuff2"); otherModel.AddElement(entityType); var edmFunction = new EdmFunction("n.s", "GetStuff", new EdmEntityTypeReference(entityType, false), false /*isBound*/, null /*entitySetPath*/, false /*isComposable*/); EdmModel model = new EdmModel(); model.AddElement(edmFunction); model.AddReferencedModel(otherModel); model.OperationOrNameExistsInReferencedModel(edmFunction, edmFunction.FullName()).Should().BeFalse(); }
public void EnsureDuplicateTermAndFunctionReturnTrue() { EdmModel model = new EdmModel(); var edmFunction = new EdmFunction("n.s", "GetStuff", EdmCoreModel.Instance.GetString(true), false /*isBound*/, null /*entitySetPath*/, false /*isComposable*/); model.AddElement(edmFunction); EdmModel otherModel = new EdmModel(); var edmTerm = new EdmTerm("n.s", "GetStuff", EdmPrimitiveTypeKind.Int32); otherModel.AddElement(edmTerm); model.AddReferencedModel(otherModel); model.OperationOrNameExistsInReferencedModel(edmFunction, edmFunction.FullName()).Should().BeTrue(); }
public void EnsureDuplicateContainerFunctionReturnTrue() { EdmModel model = new EdmModel(); var edmFunction = new EdmFunction("n.s", "GetStuff", EdmCoreModel.Instance.GetString(true), false /*isBound*/, null /*entitySetPath*/, false /*isComposable*/); model.AddElement(edmFunction); EdmModel otherModel = new EdmModel(); EdmEntityContainer container = new EdmEntityContainer("n.s", "GetStuff"); otherModel.AddElement(container); model.AddReferencedModel(otherModel); model.OperationOrNameExistsInReferencedModel(edmFunction, edmFunction.FullName()).Should().BeTrue(); }
public static void Register(HttpConfiguration config) { var model2 = EdmxReader.Parse(XmlReader.Create("http://localhost:9091/odata/$metadata")); var model = new EdmModel(); model.AddReferencedModel(model2); var reference = new EdmReference("http://localhost:9091/odata/$metadata"); reference.AddInclude(new EdmInclude("Model2", "SampleService2.Models")); model.SetEdmReferences(new List<IEdmReference> { reference }); var container = new EdmEntityContainer("NS1", "Default"); var order = model2.FindDeclaredType("SampleService2.Models.Order") as IEdmEntityType; model2.SetAnnotationValue<ClrTypeAnnotation>(order, new ClrTypeAnnotation(typeof(Order))); container.AddEntitySet("Orders", order); model.AddElement(container); var product = new EdmEntityType("NS1", "Product"); product.AddKeys(product.AddStructuralProperty("Id", EdmPrimitiveTypeKind.Int32)); product.AddStructuralProperty("Name", EdmPrimitiveTypeKind.String); model.AddElement(product); config.MapODataServiceRoute("odata", "odata", model); }
public void FindAllDerivedTypesWordsAcrossModels() { EdmModel model = new EdmModel(); EdmModel referencedModel = new EdmModel(); var A = new EdmEntityType("Referenced", "A"); var AProp = A.AddStructuralProperty("ID", EdmCoreModel.Instance.GetString(false)); A.AddKeys(new[] { AProp }); var B = new EdmEntityType("Referenced", "B", A); var C = new EdmEntityType("Referenced", "C", B); var D = new EdmEntityType("Referenced", "D", C); referencedModel.AddElements(new[] { A, B, C }); model.AddReferencedModel(referencedModel); model.AddElement(D); IEnumerable<IEdmStructuredType> derivedTypes = model.FindAllDerivedTypes(A); Assert.AreEqual(3, derivedTypes.Count(), "Correct number of derived types"); Assert.IsTrue(derivedTypes.Contains(B), "Contains B"); Assert.IsTrue(derivedTypes.Contains(C), "Contains C"); Assert.IsTrue(derivedTypes.Contains(D), "Contains D"); }