OSDN Git Service

JSONオブジェクトのメンバー順を保存する
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer.Test / JsonTest.cs
index 5ca5dd6..58f6a4d 100644 (file)
@@ -231,6 +231,18 @@ namespace KancolleSniffer.Test
         }\r
 \r
         [TestMethod]\r
+        public void PropertyOrder()\r
+        {\r
+            const int count = 100;\r
+            var json = "{" + string.Join(",", Enumerable.Range(0, count).Select(n => $"\"{"a" + n}\":{n}")) + "}";\r
+            var obj = (dynamic)JsonParser.Parse(json);\r
+            var list = new List<int>();\r
+            foreach (KeyValuePair<string, dynamic> kv in obj)\r
+                list.Add((int)kv.Value);\r
+            Assert.IsTrue(list.SequenceEqual(Enumerable.Range(0, count)));\r
+        }\r
+\r
+        [TestMethod]\r
         public void CastArrayToPrimitivetArray()\r
         {\r
             var bary = (bool[])(dynamic)JsonParser.Parse("[true,false,true]");\r