public void TestArray() { var rand = new Random(0); var a1 = new int[100]; for (int i = 0; i < a1.Length; i++) { a1[i] = rand.Next(); } var yaml = serializer.Serialize(a1); Assert.AreEqual(a1, serializer.Deserialize(yaml)[0]); var a2 = new byte[100]; for (int i = 0; i < a2.Length; i++) { a2[i] = Convert.ToByte(rand.Next() & 0xff); } yaml = serializer.Serialize(a2); Assert.AreEqual(a2, serializer.Deserialize(yaml)[0]); var a3 = new double[100]; for (int i = 0; i < a3.Length; i++) { a3[i] = rand.NextDouble(); } yaml = serializer.Serialize(a3); var a3restored = (double[])serializer.Deserialize(yaml)[0]; for (int i = 0; i < a3.Length; i++) { Assert.AreEqual(a3[i].ToString(), a3restored[i].ToString()); } var a4 = new double[10, 10]; for (int i = 0; i < a4.Length; i++) { a4[i / 10, i % 10] = rand.NextDouble(); } yaml = serializer.Serialize(a4); var a4restored = (double[, ])serializer.Deserialize(yaml)[0]; for (int i = 0; i < a4.Length; i++) { Assert.AreEqual(a4[i / 10, i % 10].ToString(), a4restored[i / 10, i % 10].ToString()); } var a5 = new ArrayTestElement[100]; var a6 = new ArrayTestElement[10, 10]; var a7 = new ArrayTestElement2[100]; var a8 = new ArrayTestElement2[10, 10]; var a9 = new ArrayTestClass(); for (int i = 0; i < 100; i++) { a5[i].a = rand.Next(); a5[i].b = (char)(rand.Next() & 0xffff); a6[i % 10, i / 10].a = rand.Next(); a6[i % 10, i / 10].b = (char)(rand.Next() & 0xffff); a7[i] = new ArrayTestElement2(); a7[i].a = rand.Next(); a7[i].b = (char)(rand.Next() & 0xff); a8[i % 10, i / 10] = new ArrayTestElement2(); a8[i % 10, i / 10].a = rand.Next(); a8[i % 10, i / 10].b = (char)(rand.Next() & 0xffff); a9.IntArray1[i] = rand.Next(); a9.IntArray2[i % 10, i / 10] = rand.Next(); a9.StructArray1[i].a = rand.Next(); a9.StructArray1[i].b = (char)(rand.Next() & 0xffff); a9.StructArray2[i % 10, i / 10].a = rand.Next(); a9.StructArray2[i % 10, i / 10].b = (char)(rand.Next() & 0xffff); } yaml = serializer.Serialize(a5); var a5restored = (ArrayTestElement[])serializer.Deserialize(yaml)[0]; Assert.AreEqual(a5, a5restored); yaml = serializer.Serialize(a6); var a6restored = (ArrayTestElement[, ])serializer.Deserialize(yaml)[0]; Assert.AreEqual(a6, a6restored); yaml = serializer.Serialize(a7); var a7restored = (ArrayTestElement2[])serializer.Deserialize(yaml)[0]; Assert.AreEqual(a7, a7restored); yaml = serializer.Serialize(a8); var a8restored = (ArrayTestElement2[, ])serializer.Deserialize(yaml)[0]; Assert.AreEqual(a8, a8restored); yaml = serializer.Serialize(a9); var a9restored = (ArrayTestClass)serializer.Deserialize(yaml)[0]; Assert.AreEqual(a9.IntArray1, a9restored.IntArray1); Assert.AreEqual(a9.IntArray2, a9restored.IntArray2); Assert.AreEqual(a9.StructArray1, a9restored.StructArray1); Assert.AreEqual(a9.StructArray2, a9restored.StructArray2); var a10 = new TestEnum[10]; for (int i = 0; i < a10.Length; i++) { a10[i] = (rand.Next() & 1) == 0 ? TestEnum.abc : TestEnum.あいう; } yaml = serializer.Serialize(a10); var a10restored = (TestEnum[])serializer.Deserialize(yaml)[0]; Assert.AreEqual(a10, a10restored); }
public void TestArray() { var rand = new Random(0); var a1 = new int[100]; for ( int i = 0; i < a1.Length; i++ ) a1[i] = rand.Next(); var yaml = serializer.Serialize(a1); Assert.AreEqual(a1, serializer.Deserialize(yaml)[0]); var a2 = new byte[100]; for ( int i = 0; i < a2.Length; i++ ) a2[i] = Convert.ToByte(rand.Next() & 0xff); yaml = serializer.Serialize(a2); Assert.AreEqual(a2, serializer.Deserialize(yaml)[0]); var a3 = new double[100]; for ( int i = 0; i < a3.Length; i++ ) a3[i] = rand.NextDouble(); yaml = serializer.Serialize(a3); var a3restored = (double[])serializer.Deserialize(yaml)[0]; for ( int i = 0; i < a3.Length; i++ ) Assert.AreEqual(a3[i].ToString(), a3restored[i].ToString()); var a4 = new double[10,10]; for ( int i = 0; i < a4.Length; i++ ) a4[i / 10, i % 10] = rand.NextDouble(); yaml = serializer.Serialize(a4); var a4restored = (double[,])serializer.Deserialize(yaml)[0]; for ( int i = 0; i < a4.Length; i++ ) Assert.AreEqual(a4[i / 10, i % 10].ToString(), a4restored[i / 10, i % 10].ToString()); var a5 = new ArrayTestElement[100]; var a6 =new ArrayTestElement[10,10]; var a7 = new ArrayTestElement2[100]; var a8 = new ArrayTestElement2[10, 10]; var a9 = new ArrayTestClass(); for ( int i = 0; i < 100; i++ ) { a5[i].a = rand.Next(); a5[i].b = (char)( rand.Next() & 0xffff ); a6[i % 10, i / 10].a = rand.Next(); a6[i % 10, i / 10].b = (char)( rand.Next() & 0xffff ); a7[i] = new ArrayTestElement2(); a7[i].a = rand.Next(); a7[i].b = (char)(rand.Next() & 0xff); a8[i % 10, i / 10] = new ArrayTestElement2(); a8[i % 10, i / 10].a = rand.Next(); a8[i % 10, i / 10].b = (char)( rand.Next() & 0xffff ); a9.IntArray1[i] = rand.Next(); a9.IntArray2[i % 10, i / 10] = rand.Next(); a9.StructArray1[i].a = rand.Next(); a9.StructArray1[i].b = (char)( rand.Next() & 0xffff ); a9.StructArray2[i % 10, i / 10].a = rand.Next(); a9.StructArray2[i % 10, i / 10].b = (char)( rand.Next() & 0xffff ); } yaml = serializer.Serialize(a5); var a5restored = (ArrayTestElement[])serializer.Deserialize(yaml)[0]; Assert.AreEqual(a5, a5restored); yaml = serializer.Serialize(a6); var a6restored = (ArrayTestElement[,])serializer.Deserialize(yaml)[0]; Assert.AreEqual(a6, a6restored); yaml = serializer.Serialize(a7); var a7restored = (ArrayTestElement2[])serializer.Deserialize(yaml)[0]; Assert.AreEqual(a7, a7restored); yaml = serializer.Serialize(a8); var a8restored = (ArrayTestElement2[,])serializer.Deserialize(yaml)[0]; Assert.AreEqual(a8, a8restored); yaml = serializer.Serialize(a9); var a9restored = (ArrayTestClass)serializer.Deserialize(yaml)[0]; Assert.AreEqual(a9.IntArray1, a9restored.IntArray1); Assert.AreEqual(a9.IntArray2, a9restored.IntArray2); Assert.AreEqual(a9.StructArray1, a9restored.StructArray1); Assert.AreEqual(a9.StructArray2, a9restored.StructArray2); var a10 = new TestEnum[10]; for ( int i = 0; i < a10.Length; i++ ) a10[i] = ( rand.Next() & 1 ) == 0 ? TestEnum.abc : TestEnum.あいう; yaml = serializer.Serialize(a10); var a10restored = (TestEnum[])serializer.Deserialize(yaml)[0]; Assert.AreEqual(a10, a10restored); }