public void XElementAnnotationTestOutOfLineValueAnnotationWithAnnotationModel() { var model = XElementAnnotationModelBuilder.OutOfLineValueAnnotationWithAnnotationModel(); var errors = new EdmLibTestErrors(); this.VerifySemanticValidation(model, EdmVersion.Latest, errors); var vocabularyAnnotation = model.VocabularyAnnotations.Where(n => n.Term.TermKind.Equals(EdmTermKind.Value)); Assert.AreEqual(1, vocabularyAnnotation.Count(), "Invalid vocabulary count."); var actualAnnotationValue = (model.GetAnnotationValue(vocabularyAnnotation.Single(), "http://foo", "Annotation") as EdmStringConstant).Value; XElement expectedAnnotationValue = new XElement("{http://foo}Annotation", "1"); Assert.IsTrue(expectedAnnotationValue.ToString().Equals(actualAnnotationValue), "XElement annotation are not the same."); var serializedModel = ModelBuilderHelpers.ReplaceCsdlNamespacesForEdmVersion(this.GetSerializerResult(model).Select(n => XElement.Parse(n)).ToArray(), EdmVersion.V40).ToList(); new ConstructiveApiCsdlXElementComparer().Compare(XElementAnnotationModelBuilder.OutOfLineValueAnnotationWithAnnotationCsdl().ToList(), serializedModel); }