public void TestReplaceObjectValue() { using var doc = JsonDocument.Parse(@"{ ""baz"": ""qux"", ""foo"": ""bar"" }"); using var value = JsonDocument.Parse(@"""boo"""); using var expected = JsonDocument.Parse(@" { ""baz"": ""boo"", ""foo"": ""bar"" } "); var documentBuilder = new JsonDocumentBuilder(doc.RootElement); var valueBuilder = new JsonDocumentBuilder(value.RootElement); JsonPointer location; Assert.IsTrue(JsonPointer.TryParse(@"/baz", out location)); Assert.IsTrue(location.TryAdd(ref documentBuilder, valueBuilder)); JsonDocument result = documentBuilder.ToJsonDocument(); JsonElementEqualityComparer.Instance.Equals(expected.RootElement, result.RootElement); }
public void Test1() { using var doc = JsonDocument.Parse(@"{""foo"": ""bar""}"); var documentBuilder = new JsonDocumentBuilder(doc.RootElement); var result = documentBuilder.ToJsonDocument(); JsonElementEqualityComparer.Instance.Equals(doc.RootElement, result.RootElement); }
public void TestRemoveArrayElement() { using var doc = JsonDocument.Parse(@"{ ""foo"": [ ""bar"", ""qux"", ""baz"" ] }"); using var expected = JsonDocument.Parse(@"{ ""foo"": [ ""bar"", ""baz"" ] }"); var documentBuilder = new JsonDocumentBuilder(doc.RootElement); JsonPointer location; Assert.IsTrue(JsonPointer.TryParse(@"/foo/1", out location)); Assert.IsTrue(location.TryRemove(ref documentBuilder)); JsonDocument result = documentBuilder.ToJsonDocument(); JsonElementEqualityComparer.Instance.Equals(expected.RootElement, result.RootElement); }
public void TestAddElementToArrayEnd() { using var doc = JsonDocument.Parse(@"{ ""foo"": [""bar""] }"); using var value = JsonDocument.Parse(@"""qux"""); using var expected = JsonDocument.Parse(@"{ ""foo"": [""bar"", [""abc"", ""def""]] }"); var documentBuilder = new JsonDocumentBuilder(doc.RootElement); var valueBuilder = new JsonDocumentBuilder(value.RootElement); JsonPointer location; Assert.IsTrue(JsonPointer.TryParse(@"/foo/-", out location)); Assert.IsTrue(location.TryAdd(ref documentBuilder, valueBuilder)); JsonDocument result = documentBuilder.ToJsonDocument(); JsonElementEqualityComparer.Instance.Equals(expected.RootElement, result.RootElement); }
public void Test2() { using var doc = JsonDocument.Parse(@"{""foo"": [""bar"", ""baz""]}"); using var expected = JsonDocument.Parse(@"""bar"""); var root = doc.RootElement; var documentBuilder = new JsonDocumentBuilder(root); JsonPointer pointer; Assert.IsTrue(JsonPointer.TryParse("/foo/0", out pointer)); JsonDocumentBuilder value; Assert.IsTrue(pointer.TryGetValue(documentBuilder, out value)); var result = value.ToJsonDocument(); JsonElementEqualityComparer.Instance.Equals(expected.RootElement, result.RootElement); }