private void RunTest(ContextUriParserTestCase testCase) { this.Assert.ExpectedException( () => { ODataJsonLightContextUriParseResult parseResult = ODataJsonLightContextUriParser.Parse( testCase.Model ?? this.testModel, testCase.ContextUri, testCase.PayloadKind, null, true); this.CompareContextUriParseResults(testCase.ExpectedResult, parseResult, testCase.ResourcePath); }, testCase.ExpectedException, this.ExceptionVerifier); }
private void CompareContextUriParseResults(ODataJsonLightContextUriParseResult expected, ODataJsonLightContextUriParseResult actual, string expectedPathStr) { this.Assert.AreEqual(expected.MetadataDocumentUri, actual.MetadataDocumentUri, "Metadata document URIs don't match."); this.Assert.AreEqual(expected.NavigationSource, actual.NavigationSource, "Entity sets don't match."); if (expected.EdmType is IEdmCollectionType) { this.Assert.AreEqual(((IEdmCollectionType)expected.EdmType).ElementType.Definition, ((IEdmCollectionType)actual.EdmType).ElementType.Definition, "Entity types don't match."); } else { this.Assert.AreEqual(expected.EdmType, actual.EdmType, "Entity types don't match."); } this.Assert.AreEqual(expected.SelectQueryOption, actual.SelectQueryOption, "Select query option properties don't match."); if (expectedPathStr != null) { this.Assert.IsNotNull(actual.Path, "Path should not be null"); this.Assert.AreEqual(expectedPathStr, actual.Path.ToContextUrlPathString(), "Path not equal"); } this.Assert.AreEqual(expected.DeltaKind, actual.DeltaKind, "Delta kind doesn't match."); }
/// <summary> /// Constructor. /// </summary> /// <param name="contextUriParseResult">The parsed context URI.</param> internal ODataJsonLightPayloadKindDetectionState(ODataJsonLightContextUriParseResult contextUriParseResult) { this.contextUriParseResult = contextUriParseResult; }