public void Json_Read_Write_Relationship_Returns() { dynamic item = new { id = "100", name = "name100", contains = new { id = "200", name = "name200", values = new dynamic[] { new { id = "300", name = "name300" }, new { id = "400", name = "name400" } } } }; StoreProcessor.Assert("app1", JToken.FromObject(item), false); var rsp = StoreProcessor.GetSubject("app1", "100", null, 3); Assert.IsTrue(JToken.DeepEquals(JToken.FromObject(item), rsp)); }
public void Patch_Single_Item_Array_With_Triple_Returns() { var doc = new { id = "100", name = "Device 100", contains = new object[] { new { id = "nested0", name = "Nested 0" } } }; var patch = new { remove = new { id = "100", otherName = "Other Name", contains = new object[] { new { id = "nested0", } } }, add = new { id = "100", contains = new object[] { new { id = "nested4", name = "Nested 4" } } } }; var expected = new { id = "100", name = "Device 100", contains = new object[] { new { id = "nested4", name = "Nested 4" } } }; StoreProcessor.Assert("app3", JObject.FromObject(doc), false); StoreProcessor.PatchTriple("app3", JObject.FromObject(patch)); var rsp = StoreProcessor.GetSubject("app3", "100", null, 3); var rspString = TripleConverter.FromJson(rsp).ToArray(); var expectedString = TripleConverter.FromJson(JObject.FromObject(expected)).ToArray(); CollectionAssert.AreEquivalent(rspString, expectedString); }
public ObjectQueryExecutorTest() { dynamic item1 = new { id = "100", name = "name100", age = 20, contains = new { id = "200", name = "name200", values = new dynamic[] { new { id = "300", name = "name300", age = 30, }, new { id = "400", name = "name400" } } } }; dynamic item2 = new { id = "500", name = "name500", age = 20, contains = new { id = "600", name = "name600", values = new dynamic[] { new { id = "700", name = "name700", age = 30, }, new { id = "800", name = "name800", contains = new { id = "600" } } } } }; StoreProcessor.Assert("app1", JToken.FromObject(item1), false); StoreProcessor.Assert("app1", JToken.FromObject(item2), false); }
public ArrayTest() { _item1 = new { id = "simplearray", values = new int[] { 10, 20, 10, 11, 29, 12 } }; StoreProcessor.Assert("app1", JToken.FromObject(_item1), false); }
public void Patch_With_Values_Returns() { var doc = new { id = "100", name = "Device 100", data = new { temp = 50, humidity = 70, pressure = 1001.02, region = "seattle/1" } }; var patch = new { id = "100", data = new { temp = 55, pressure = 1001.03, region = "seattle/1" } }; var expected = new { id = "100", name = "Device 100", data = new { id = "100#data", temp = 55, humidity = 70, pressure = 1001.03, region = "seattle/1", }, }; StoreProcessor.Assert("app3", JObject.FromObject(doc), false); StoreProcessor.PatchJson("app3", JObject.FromObject(patch)); var rsp = StoreProcessor.GetSubject("app3", "100", null, 3); var rspString = TripleConverter.FromJson(rsp).ToArray(); var expectedString = TripleConverter.FromJson(JObject.FromObject(expected)).ToArray(); CollectionAssert.AreEquivalent(rspString, expectedString); }
public ObjectQueryExecutorPagedTest() { for (int i = 0; i < 100; i++) { var item = new { id = $"i{i.ToString("D2")}", name = $"name{i.ToString("D2")}", param = i, contains = new { id = "c0", name = "namec0", values = new { id = "v0", name = "namev0" } } }; StoreProcessor.Assert("app1", JToken.FromObject(item), false); } for (int j = 0; j < 100; j++) { var item = new { id = $"j{j.ToString("D2")}", name = $"name{j.ToString("D2")}", param = j, contains = new { id = "c1", name = "namec1", values = new { id = "v1", name = "namev1" } } }; StoreProcessor.Assert("app1", JToken.FromObject(item), false); } }
public StoreProcessorTest() { _items = new object[10]; foreach (var i in Enumerable.Range(0, 10)) { dynamic item = new { id = i.ToString(), name = $"name{i}", age = i * 5 }; _items[i] = item; } StoreProcessor.Assert("app1", JToken.FromObject(_items), false); dynamic item1 = new { id = "100", name = "name100", age = 20, contains = new { id = "200", name = "name200", values = new dynamic[] { new { id = "300", name = "name300", age = 30, }, new { id = "400", name = "name400" } } } }; dynamic item2 = new { id = "500", name = "name500", age = 20, contains = new { id = "600", name = "name600", values = new dynamic[] { new { id = "700", name = "name700", age = 30, }, new { id = "800", name = "name800", contains = new { id = "600" } } } } }; StoreProcessor.Assert("app2", JToken.FromObject(item1), false); StoreProcessor.Assert("app2", JToken.FromObject(item2), false); }
public ObjectQueryIncomingTest() { dynamic item1 = new { id = "100", name = "name100", age = 20, contains = new { id = "200", name = "name200", values = new dynamic[] { new { id = "300", name = "name300", age = 30, }, new { id = "400", name = "name400" } } } }; dynamic item2 = new { id = "500", name = "name500", age = 20, contains = new { id = "600", name = "name600", values = new dynamic[] { new { id = "700", name = "name700", age = 30, }, new { id = "800", name = "name800", contains = new { id = "600" } } } } }; StoreProcessor.Assert("app1", JToken.FromObject(item1), false); StoreProcessor.Assert("app1", JToken.FromObject(item2), false); for (int i = 0; i < 100; i++) { var item = new { id = "root001", name = "root1", contains = new { id = "c1", name = "namec1", values = new { id = $"i{i.ToString("D2")}", name = $"name{i.ToString("D2")}", } } }; StoreProcessor.Assert("app2", JToken.FromObject(item), false); } for (int i = 0; i < 100; i++) { var item = new { id = "root002", name = "root2", contains = new { id = "c2", name = "namec2", values = new { id = $"j{i.ToString("D2")}", name = $"name{i.ToString("D2")}", } } }; StoreProcessor.Assert("app2", JToken.FromObject(item), false); } }
public ObjectQueryStarPathTest() { var text = File.ReadAllText(Path.Combine("TestInput", "region.json")); StoreProcessor.Assert("app1", JToken.Parse(text), true); }