コード例 #1
0
        public void PopTest()
        {
            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());

            root.Pop();
            Assert.Equal("#/1/2", root.Text);
            Assert.Equal(root.Text, root.ToString());

            root.Pop();
            root.Push(3);
            Assert.Equal("#/1/3", root.Text);
            Assert.Equal(root.Text, root.ToString());

            root.Pop();
            root.Pop();
            Assert.Equal("#/", root.Text);
            Assert.Equal(root.Text, root.ToString());
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        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());
        }
コード例 #4
0
        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());
        }
コード例 #5
0
        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());
        }
コード例 #6
0
        public void PropertyTest()
        {
            var root = new JsonPointer();

            root.Push("FirstProperty");
            root.Push(Keyword.Properties);
            root.Push("MidProperty");
            root.Push("LastProperty");
            root.Push(Keyword.Items);
            root.Push(0);
            Assert.Equal("#/FirstProperty/properties/MidProperty/LastProperty/items/0", root.Text);
            Assert.Equal(Keyword.Items, root.Keyword);
            Assert.Equal("FirstProperty", root.FirstProperty);
            Assert.Equal("LastProperty", root.LastProperty);
        }