예제 #1
0
        public void ParseIncludeWorksAsExpected()
        {
            string json = @" {
""$Namespace"": ""org.example.display"",
 ""$Alias"": ""UI""  }";

            using (JsonDocument document = JsonDocument.Parse(json))
            {
                JsonElement       rootElement = document.RootElement;
                JsonParserContext context     = new JsonParserContext();

                CsdlInclude include = CsdlJsonParser.ParseInclude(rootElement, context);

                Assert.NotNull(include);
                Assert.Equal("UI", include.Alias);
                Assert.Equal("org.example.display", include.Namespace);
            }
        }
예제 #2
0
        public void ParseIncludeReportUnExpectedMember()
        {
            string json = @" { 
""$Namespace"": ""org.example.display"",
""$Unknown"": ""UI""  }";

            using (JsonDocument document = JsonDocument.Parse(json))
            {
                JsonElement       rootElement = document.RootElement;
                JsonParserContext context     = new JsonParserContext();

                CsdlInclude include = CsdlJsonParser.ParseInclude(rootElement, context);

                Assert.NotNull(include);
                Assert.Equal("org.example.display", include.Namespace);

                var error = Assert.Single(context.Errors);
                Assert.Equal(EdmErrorCode.UnexpectedElement, error.ErrorCode);
                Assert.Equal("$.$Unknown", error.ErrorLocation.ToString());
                Assert.Equal("A member '$.$Unknown' with value type 'String' is unexpected.", error.ErrorMessage);
            }
        }