public void TestMultiArrayValues() { MockRepo repo = new MockRepo(); ArrayTestClass obj = new ArrayTestClass { arr = new ArrayTestClass.Nested[3] { new ArrayTestClass.Nested { nestedValues = new double[2] { 7.0, 8.0 } }, new ArrayTestClass.Nested { nestedValues = new double[3] { 17.0, 18.0, 19.0 } }, new ArrayTestClass.Nested { nestedValues = new double[4] { 27.0, 28.0, 29.0, 30.0 } } } }; repo.AddDef("a", obj); ModDefinition mod = new ModDefinition { guid = "a", field = "arr[0].nestedValues[1]", value = 10 }; new Mod("MultiArrayValues", mod, repo).Apply(); Assert.AreEqual(obj.arr[0].nestedValues[1], 10.0); }
public void TestLastArrayObject() { MockRepo repo = new MockRepo(); ArrayTestClass obj = new ArrayTestClass { arr = new ArrayTestClass.Nested[3] { new ArrayTestClass.Nested { value = 7 }, new ArrayTestClass.Nested { value = 8 }, new ArrayTestClass.Nested { value = 9 } } }; repo.AddDef("a", obj); ModDefinition mod = new ModDefinition { guid = "a", field = "arr[2].value", value = 10 }; new Mod("LastArray", mod, repo).Apply(); Assert.AreEqual(obj.arr[0].value, 7); Assert.AreEqual(obj.arr[1].value, 8); Assert.AreEqual(obj.arr[2].value, 10); }
public void ReadArrayTestClassContainingEncodedMarkup() { string xml = ArrayTestClass.GetXml().Replace("2", XmlEncode(@"<foo><![CDATA[bar]]>")); ArrayTestClass actual = (ArrayTestClass)NetReflector.Read(xml, table); Assert.AreEqual(@"<foo><![CDATA[bar]]>", actual.StringArray[1]); Assert.AreEqual(@"<foo><![CDATA[bar]]>", actual.Elements[1].ID); }
public void TestLastArrayValue() { MockRepo repo = new MockRepo(); ArrayTestClass obj = new ArrayTestClass { values = new double[3] { 7.0, 8.0, 9.0 } }; repo.AddDef("a", obj); ModDefinition mod = new ModDefinition { guid = "a", field = "values[2]", value = 10 }; new Mod("LastArrayValue", mod, repo).Apply(); Assert.AreEqual(obj.values[0], 7.0); Assert.AreEqual(obj.values[1], 8.0); Assert.AreEqual(obj.values[2], 10.0); }
public void TestBadBracket() { MockRepo repo = new MockRepo(); ArrayTestClass obj = new ArrayTestClass { arr = new ArrayTestClass.Nested[3] { new ArrayTestClass.Nested { value = 7 }, new ArrayTestClass.Nested { value = 8 }, new ArrayTestClass.Nested { value = 9 } } }; repo.AddDef("a", obj); ModDefinition mod = new ModDefinition { guid = "a", field = "arr[.value", value = 10 }; Assert.ThrowsException <ModException>(() => new Mod("BadBracket", mod, repo).Apply()); }
public void TestOutOfBound() { MockRepo repo = new MockRepo(); ArrayTestClass obj = new ArrayTestClass { arr = new ArrayTestClass.Nested[3] { new ArrayTestClass.Nested { value = 7 }, new ArrayTestClass.Nested { value = 8 }, new ArrayTestClass.Nested { value = 9 } } }; repo.AddDef("a", obj); ModDefinition mod = new ModDefinition { guid = "a", field = "arr[3].value", value = 10 }; Assert.ThrowsException <IndexOutOfRangeException> (() => new Mod("OutOfBound", mod, repo).Apply()); }
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 ReadArrayTestClassWithEnums() { ArrayTestClass actual = (ArrayTestClass)NetReflector.Read(ArrayTestClass.GetXmlForDays(), table); ArrayTestClass.AssertEquals(ArrayTestClass.CreateDays(), actual); }
public void ReadArrayTestClass() { ArrayTestClass actual = (ArrayTestClass)NetReflector.Read(ArrayTestClass.GetXml(), table); ArrayTestClass.AssertEquals(ArrayTestClass.Create(), actual); }
public void WriteArrayTestClass() { string xml = NetReflector.Write(ArrayTestClass.Create()); Assert.AreEqual(ArrayTestClass.GetXml(), xml); }
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); }