public void KeywordTest() { var root = new JsonPointer(); root.Push(Keyword.AdditionalProperties); Assert.Equal("#/additionalProperties", root.Text); Assert.Equal(root.Text, root.ToString()); root.Push(Keyword._Ref); Assert.Equal("#/additionalProperties/$ref", root.Text); Assert.Equal(root.Text, root.ToString()); }
public void PropertiesTest() { var root = new JsonPointer(); root.Push("alpha"); Assert.Equal("#/alpha", root.Text); Assert.Equal(root.Text, root.ToString()); root.Push("beta"); Assert.Equal("#/alpha/beta", root.Text); Assert.Equal(root.Text, root.ToString()); }
public void EscapeTest() { var root = new JsonPointer(); root.Push("~/bin"); Assert.Equal("#/~0~1bin", root.Text); Assert.Equal(root.Text, root.ToString()); Assert.Equal("~/bin", root.FirstProperty); root.Push("sh.exe"); Assert.Equal("#/~0~1bin/sh.exe", root.Text); Assert.Equal(root.Text, root.ToString()); }
public static void JsonPointer_ToString() { var sut = new JsonPointer(); var str = sut.ToString(); Assert.Equal("", str); sut = new JsonPointer(""); str = sut.ToString(); Assert.Equal("/", str); sut = new JsonPointer("", "test"); str = sut.ToString(); Assert.Equal("//test", str); sut = new JsonPointer("test", ""); str = sut.ToString(); Assert.Equal("/test/", str); sut = new JsonPointer("test/", ""); str = sut.ToString(); Assert.Equal("/test~1/", str); sut = new JsonPointer("test~", ""); str = sut.ToString(); Assert.Equal("/test~0/", str); sut = new JsonPointer("test~/", ""); str = sut.ToString(); Assert.Equal("/test~0~1/", str); }
public void IndexTest() { var root = new JsonPointer(); root.Push(1); Assert.Equal("#/1", root.Text); Assert.Equal(root.Text, root.ToString()); root.Push(2); Assert.Equal("#/1/2", root.Text); Assert.Equal(root.Text, root.ToString()); root.Push(0); Assert.Equal("#/1/2/0", root.Text); Assert.Equal(root.Text, root.ToString()); }
public void EmptyJsonPointerTest() { var root = new JsonPointer(); Assert.Equal("#/", root.Text); Assert.Equal(root.Text, root.ToString()); }
/// <summary> /// Initializes a new instance of the <see cref="BodyExpression"/> class. /// </summary> /// <param name="pointer">a JSON Pointer [RFC 6901](https://tools.ietf.org/html/rfc6901).</param> public BodyExpression(JsonPointer pointer) : base(pointer?.ToString()) { if (pointer == null) { throw Error.ArgumentNull(nameof(pointer)); } }
public void MixTest() { var root = new JsonPointer(); root.Push(Keyword.Items); Assert.Equal("#/items", root.Text); Assert.Equal(root.Text, root.ToString()); root.Push(2); Assert.Equal("#/items/2", root.Text); Assert.Equal(root.Text, root.ToString()); root.Push(Keyword.Properties); Assert.Equal("#/items/2/properties", root.Text); Assert.Equal(root.Text, root.ToString()); root.Push("Name"); Assert.Equal("#/items/2/properties/Name", root.Text); Assert.Equal(root.Text, root.ToString()); }
public void AddReference(JsonPointer source, JsonPointer target) { var sourceAsString = source.ToString(); if (!_refMap.TryGetValue(sourceAsString, out var map)) { map = new SerializationReference(source); _refMap[sourceAsString] = map; } map.Targets.Add(target); }
protected static void WriteFromPath(JsonWriter writer, JsonPointer pointer) { writer.WritePropertyName("from"); writer.WriteValue(pointer.ToString()); }
public static void ShouldBe(this JsonPointer jsonPointer, string expectedValue) { jsonPointer.ToString().ShouldBe(expectedValue); }