public void Map_GetSet_ByMember() { dynamic obj = new JSONDynamicObject(JSONDynamicObjectKind.Map); obj.A = 7; Assert.AreEqual(7, obj.A); }
public void Map_GetSet_ByIndexer() { dynamic obj = new JSONDynamicObject(JSONDynamicObjectKind.Map); obj["A"] = 7; Assert.AreEqual(7, obj["A"]); }
public void Map_GetSet_DateTimeAddDays() { dynamic obj = new JSONDynamicObject(JSONDynamicObjectKind.Map); obj.StartDate = new DateTime(1980, 12, 05); obj.Interval = 5; obj.EndDate = obj.StartDate.AddDays(obj.Interval); Assert.AreEqual(new DateTime(1980, 12, 10), obj.EndDate); }
public void Map_GetSet_DoubleAddInt() { dynamic obj = new JSONDynamicObject(JSONDynamicObjectKind.Map); obj.A = 3.4d; obj.B = 5; obj.C = obj.A + obj.B; Assert.AreEqual(8.4d, obj.C); }
public void Map_GetSet_IntAdd() { dynamic obj = new JSONDynamicObject(JSONDynamicObjectKind.Map); obj.A = 3; obj.B = 5; obj.C = obj.A + obj.B; Assert.AreEqual(8, obj.C); }
public void Array_Autogrow_2() { dynamic obj = new JSONDynamicObject(JSONDynamicObjectKind.Array); Assert.AreEqual(0, obj.Count); Assert.AreEqual(0, obj.Length); obj[150] = 100; Assert.AreEqual(151, obj.Count); Assert.AreEqual(100, obj[150]); }
public void Array_Autogrow_1() { dynamic obj = new JSONDynamicObject(JSONDynamicObjectKind.Array); Aver.AreEqual(0, obj.Count); Aver.AreEqual(0, obj.Length); obj[0] = 100; obj[1] = 120; Aver.AreEqual(2, obj.Count); Aver.AreEqual(100, obj[0]); Aver.AreEqual(120, obj[1]); }
public void Map_GetMemberNames() { dynamic obj = new JSONDynamicObject(JSONDynamicObjectKind.Map); obj.A = 3; obj.B = 5; obj.C = obj.A + obj.B; IEnumerable <string> nms = obj.GetDynamicMemberNames(); var names = nms.ToList(); Assert.AreEqual(3, names.Count); Assert.AreEqual("A", names[0]); Assert.AreEqual("B", names[1]); Assert.AreEqual("C", names[2]); }
public void Array_GetBeyondRange() { dynamic obj = new JSONDynamicObject(JSONDynamicObjectKind.Array); Assert.AreEqual(0, obj.Count); Assert.AreEqual(0, obj.Length); obj[0] = 100; obj[1] = 120; Assert.AreEqual(2, obj.Count); Assert.AreEqual(100, obj[0]); Assert.AreEqual(120, obj[1]); Assert.IsNull(obj[10001]); }
public void WithSubDocumentsAndConversionAccessors() { // http://stackoverflow.com/questions/2954531/lots-of-first-chance-microsoft-csharp-runtimebinderexceptions-thrown-when-dealin dynamic obj = new JSONDynamicObject(JSONDynamicObjectKind.Map); obj.type = "abc"; obj.startDate = "5/15/2001 6:00pm"; obj.target = new JSONDynamicObject(JSONDynamicObjectKind.Map); obj.target.id = "A678"; obj.target.image = "hello"; obj.target.type = "good"; obj.target.description = "Thank You"; obj.target.Age = 123; obj.target.Salary = 125000m; string s1 = obj.ToJSON(); var ro1 = s1.JSONToDynamic(); Assert.AreEqual("abc", ro1.type); Assert.AreEqual(new DateTime(2001, 5, 15, 18, 00, 00), ((string)ro1.startDate).AsDateTime()); Assert.AreEqual("A678", ro1.target.id); Assert.AreEqual("hello", ro1.target.image); Assert.AreEqual("good", ro1.target.type); Assert.AreEqual("Thank You", ro1.target.description); Assert.AreEqual(123, ro1.target.Age); Assert.AreEqual(125000, ro1.target.Salary); string s2 = ((object)obj).ToJSON(); var ro2 = s2.JSONToDynamic(); Assert.AreEqual("abc", ro2.type); Assert.AreEqual(new DateTime(2001, 5, 15, 18, 00, 00), ((string)ro2.startDate).AsDateTime()); Assert.AreEqual("A678", ro2.target.id); Assert.AreEqual("hello", ro2.target.image); Assert.AreEqual("good", ro2.target.type); Assert.AreEqual("Thank You", ro2.target.description); }
public void WithSubDocumentsAndConversionAccessors() { dynamic obj = new JSONDynamicObject(JSONDynamicObjectKind.Map); obj.type = "abc"; obj.startDate = "5/15/2001 6:00pm"; obj.target = new JSONDynamicObject(JSONDynamicObjectKind.Map); obj.target.id = "A678"; obj.target.image = "hello"; obj.target.type = "good"; obj.target.description = "Thank You"; obj.target.Age = 123; obj.target.Salary = 125000m; string s1 = obj.ToJSON(); var ro1 = s1.JSONToDynamic(); Assert.AreEqual("abc", ro1.type); Assert.AreEqual(new DateTime(2001, 5, 15, 18, 00, 00), ((string)ro1.startDate).AsDateTime()); Assert.AreEqual("A678", ro1.target.id); Assert.AreEqual("hello", ro1.target.image); Assert.AreEqual("good", ro1.target.type); Assert.AreEqual("Thank You", ro1.target.description); Assert.AreEqual(123, ro1.target.Age); Assert.AreEqual(125000, ro1.target.Salary); string s2 = ((object)obj).ToJSON(); var ro2 = s2.JSONToDynamic(); Assert.AreEqual("abc", ro2.type); Assert.AreEqual(new DateTime(2001, 5, 15, 18, 00, 00), ((string)ro2.startDate).AsDateTime()); Assert.AreEqual("A678", ro2.target.id); Assert.AreEqual("hello", ro2.target.image); Assert.AreEqual("good", ro2.target.type); Assert.AreEqual("Thank You", ro2.target.description); }