Ejemplo n.º 1
0
        public void SetAddTestObjectCollectionElement()
        {
            var payload = GetTestObject();

            payload = JsonPointer.Set(payload, "/Collection/-", "last");
            Assert.AreEqual("last", JsonPointer.Get <string>(payload, "/Collection/3"));
        }
Ejemplo n.º 2
0
        public void ExampleCollectionTest()
        {
            var sample = @"{
              'books': [
                {
                  'title' : 'The Great Gatsby',
                  'author' : 'F. Scott Fitzgerald'
                },
                {
                  'title' : 'The Grapes of Wrath',
                  'author' : 'John Steinbeck'
                }
              ]
            }";

            var result = JsonPointer.Get <List <Book> >(sample, "/books");

            Assert.IsTrue(result.Count == 2);

            sample = JsonPointer.Set(sample, "/books/-", new Book {
                Title = "Jayne Eyre", Author = "Charlotte Brontë"
            });
            result = JsonPointer.Get <List <Book> >(sample, "/books");
            Assert.IsTrue(result.Count == 3);
        }
Ejemplo n.º 3
0
        public void CannotSetRealObjectSubPropertiesThatDoNotExist()
        {
            var payload = GetTestObject();

            payload = JsonPointer.Set(payload, "/Settings/Wait", false);
            Assert.AreEqual(false, JsonPointer.Get <bool>(payload, "/Settings/Wait"));
        }
Ejemplo n.º 4
0
        public void SetObjectSubPropertiesDoesNotExist()
        {
            var payload = GetPocoObject();

            payload = JsonPointer.Set(payload, "/Settings/Wait", false);
            Assert.AreEqual(false, JsonPointer.Get <bool>(payload, "/Settings/Wait"));
        }
Ejemplo n.º 5
0
        public void SetTestObjectSubProperties()
        {
            var payload = GetTestObject();

            payload = JsonPointer.Set(payload, "/Settings/Launch", false);
            Assert.AreEqual(false, JsonPointer.Get <bool>(payload, "/Settings/Launch"));
        }
Ejemplo n.º 6
0
        public void Issue1()
        {
            var input  = "[{\"Id\":\"b4120a48-d5b0-476f-a653-083f3725dfce\"}]";
            var result = JsonPointer.Get <List <Foo> >(input, "/");

            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Count);
        }
Ejemplo n.º 7
0
        public void ReplacePropertyUsingSet()
        {
            var obj = @"{ foo: 1, bar: { baz: 2}, qux: [3, 4, 5]}";

            obj = JsonPointer.Set(obj, "/foo", 6);   // sets obj.foo = 6;

            Assert.AreEqual(6, JsonPointer.Get <int>(obj, "/foo"));
        }
Ejemplo n.º 8
0
        public void AddItemToCollectionUsingSet()
        {
            var obj = @"{ foo: 1, bar: { baz: 2}, qux: [3, 4, 5]}";

            obj = JsonPointer.Set(obj, "/qux/-", 6); // sets obj.qux = [3, 4, 5, 6]

            Assert.AreEqual(3, JsonPointer.Get <int>(obj, "/qux/0"));
            Assert.AreEqual(4, JsonPointer.Get <int>(obj, "/qux/1"));
            Assert.AreEqual(5, JsonPointer.Get <int>(obj, "/qux/2"));
            Assert.AreEqual(6, JsonPointer.Get <int>(obj, "/qux/3"));
        }
Ejemplo n.º 9
0
        public void Example()
        {
            var obj = @"{ foo: 1, bar: { baz: 2}, qux: [3, 4, 5]}";

            Assert.AreEqual(1, JsonPointer.Get <int>(obj, "/foo"));
            Assert.AreEqual(2, JsonPointer.Get <int>(obj, "/bar/baz"));
            Assert.AreEqual(2, JsonPointer.Get <int>(obj, "/bar/baz"));
            Assert.AreEqual(3, JsonPointer.Get <int>(obj, "/qux/0"));
            Assert.AreEqual(4, JsonPointer.Get <int>(obj, "/qux/1"));
            Assert.AreEqual(5, JsonPointer.Get <int>(obj, "/qux/2"));
        }
Ejemplo n.º 10
0
        public void Example2Test()
        {
            var sample = @"{
              'books': [
                {
                  'title' : 'The Great Gatsby',
                  'author' : 'F. Scott Fitzgerald'
                },
                {
                  'title' : 'The Grapes of Wrath',
                  'author' : 'John Steinbeck'
                }
              ]
            }";

            var result = JsonPointer.Get <string>(sample, "/books/1/author"); // returns "John Steinbeck"

            Assert.AreEqual("John Steinbeck", result);
        }
Ejemplo n.º 11
0
        public void PointToTokenWithEmbeddedTilde()
        {
            var sample = GetJsonObject();

            Assert.AreEqual(8, JsonPointer.Get <int>(sample, "/m~0n"));
        }
Ejemplo n.º 12
0
        public void PointToTokenWithEscapedSpace()
        {
            var sample = GetJsonObject();

            Assert.AreEqual(7, JsonPointer.Get <int>(sample, "/%20"));
        }
Ejemplo n.º 13
0
        public void PointToTokenWithEscapedQuote()
        {
            var sample = GetJsonObject();

            Assert.AreEqual(6, JsonPointer.Get <int>(sample, "/k%22l"));
        }
Ejemplo n.º 14
0
        public void PointToTokenWithEscapedBackSlash()
        {
            var sample = GetJsonObject();

            Assert.AreEqual(5, JsonPointer.Get <int>(sample, "/i%5Cj"));
        }
Ejemplo n.º 15
0
        public void MissingPropertyThrowsArgumentException()
        {
            var obj = @"{ foo: 1, bar: { baz: 2}, qux: [3, 4, 5]}";

            JsonPointer.Get <int>(obj, "/quo");     // throws ArgumentException
        }
Ejemplo n.º 16
0
        public void PointToRoot()
        {
            var sample = GetJsonObject();

            Assert.IsTrue(JToken.DeepEquals(sample, JsonPointer.Get <JObject>(sample, "")));
        }
Ejemplo n.º 17
0
        public void GetStringFromArrayIndexedProperty()
        {
            var sample = GetJsonString();

            Assert.AreEqual("John Steinbeck", JsonPointer.Get <string>(sample, "/books/1/author"));
        }
Ejemplo n.º 18
0
        public void PointToTokenWithEncodedPercent()
        {
            var sample = GetJsonObject();

            Assert.AreEqual(2, JsonPointer.Get <int>(sample, "/c%25d"));
        }
Ejemplo n.º 19
0
        public void CanHandleTestObjectSubProperties()
        {
            var payload = GetTestObject();

            Assert.AreEqual(true, JsonPointer.Get <bool>(payload, "/Settings/Launch"));
        }
Ejemplo n.º 20
0
        public void PointToArrayElementThatDoesNotExistThrowsException()
        {
            var sample = GetJsonObject();

            JsonPointer.Get <string>(sample, "/foo/10");
        }
Ejemplo n.º 21
0
        public void PointToArrayElement()
        {
            var sample = GetJsonObject();

            Assert.AreEqual(sample["foo"][0], JsonPointer.Get <string>(sample, "/foo/0"));
        }
Ejemplo n.º 22
0
        public void PointToArray()
        {
            var sample = GetJsonObject();

            CollectionAssert.AreEqual(sample["foo"].ToObject <List <string> >(), JsonPointer.Get <List <string> >(sample, "/foo"));
        }
Ejemplo n.º 23
0
        public void PointToTokenTwoLevelsDeep()
        {
            var sample = GetJsonObject();

            Assert.AreEqual("a3", JsonPointer.Get <string>(sample, "/tee/black"));
        }
Ejemplo n.º 24
0
        public void PointToTokenWithEncodedCaret()
        {
            var sample = GetJsonObject();

            Assert.AreEqual(3, JsonPointer.Get <int>(sample, "/e%5Ef"));
        }
Ejemplo n.º 25
0
        public void PointToTokenThreeLevelsDeep()
        {
            var sample = GetJsonObject();

            Assert.AreEqual("blue", JsonPointer.Get <string>(sample, "/tee/pink/1"));
        }
Ejemplo n.º 26
0
        public void PointToTokenWithEscapedPipe()
        {
            var sample = GetJsonObject();

            Assert.AreEqual(4, JsonPointer.Get <int>(sample, "/g%7Ch"));
        }
Ejemplo n.º 27
0
        public void PointToElementThatDoesNotExistThrowsException()
        {
            var sample = GetJsonObject();

            JsonPointer.Get <string>(sample, "/tee/nope");
        }
Ejemplo n.º 28
0
        public void CanHandleTestObjectCollections()
        {
            var payload = GetTestObject();

            Assert.AreEqual("second", JsonPointer.Get <string>(payload, "/Collection/1"));
        }
Ejemplo n.º 29
0
        public void CanHandleObjectProperties()
        {
            var payload = GetPocoObject();

            Assert.AreEqual(false, JsonPointer.Get <bool>(payload, "/Enabled"));
        }
Ejemplo n.º 30
0
        public void PointToTokenWithEmbeddedSlash()
        {
            var sample = GetJsonObject();

            Assert.AreEqual(1, JsonPointer.Get <int>(sample, "/a~1b"));
        }