public void AmbiguousTermTest() { EdmModel model = new EdmModel(); IEdmTerm term1 = new EdmTerm("Foo", "Bar", EdmPrimitiveTypeKind.Byte); IEdmTerm term2 = new EdmTerm("Foo", "Bar", EdmPrimitiveTypeKind.Decimal); IEdmTerm term3 = new EdmTerm("Foo", "Bar", EdmCoreModel.Instance.GetPrimitive(EdmPrimitiveTypeKind.Double, false)); model.AddElement(term1); Assert.AreEqual(term1, model.FindTerm("Foo.Bar"), "Correct item."); model.AddElement(term2); model.AddElement(term3); IEdmTerm ambiguous = model.FindTerm("Foo.Bar"); Assert.IsTrue(ambiguous.IsBad(), "Ambiguous binding is bad"); Assert.AreEqual(EdmSchemaElementKind.Term, ambiguous.SchemaElementKind, "Correct schema element kind."); Assert.AreEqual("Foo", ambiguous.Namespace, "Correct Namespace"); Assert.AreEqual("Bar", ambiguous.Name, "Correct Name"); Assert.IsTrue(ambiguous.Type.IsBad(), "Type is bad."); }