From: Owen R. <exo...@us...> - 2004-11-16 04:41:28
|
Update of /cvsroot/netreflector/NetReflector/src/NetReflector.Test/resources In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21969/src/NetReflector.Test/resources Modified Files: ArrayTestClass.cs CollectionTestClass.cs Log Message: - XmlArraySerialiser now converts xml element to array element type. Patch courtesy of Oane Stienstra. Index: ArrayTestClass.cs =================================================================== RCS file: /cvsroot/netreflector/NetReflector/src/NetReflector.Test/resources/ArrayTestClass.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ArrayTestClass.cs 15 Nov 2004 05:58:57 -0000 1.5 --- ArrayTestClass.cs 16 Nov 2004 04:41:19 -0000 1.6 *************** *** 1,2 **** --- 1,3 ---- + using System; using NUnit.Framework; *************** *** 6,13 **** internal class ArrayTestClass { ! private ElementTestClass[] elements; [ReflectorArray("stringArray", Required=false)] ! public string[] StringArray; [ReflectorArray("elementArray", Required=false)] --- 7,14 ---- internal class ArrayTestClass { ! private ElementTestClass[] elements = new ElementTestClass[0]; [ReflectorArray("stringArray", Required=false)] ! public string[] StringArray = new string[0]; [ReflectorArray("elementArray", Required=false)] *************** *** 18,21 **** --- 19,25 ---- } + [ReflectorArray("days", Required=false)] + public DayOfWeek[] Days = new DayOfWeek[0]; + public static ArrayTestClass Create() { *************** *** 26,45 **** } public static string GetXml() { ! return "<array-test><stringArray><string>1</string><string>2</string><string>3</string></stringArray>" + "<elementArray><element><id>1</id></element><element><id>2</id></element><element><id>3</id></element></elementArray></array-test>"; } public static void AssertEquals(ArrayTestClass expected, ArrayTestClass actual) { Assert.AreEqual(expected.Elements.Length, actual.Elements.Length); ! Assert.AreEqual(((ElementTestClass)expected.Elements[0]).ID, ((ElementTestClass)actual.Elements[0]).ID); ! Assert.AreEqual(((ElementTestClass)expected.Elements[1]).ID, ((ElementTestClass)actual.Elements[1]).ID); ! Assert.AreEqual(((ElementTestClass)expected.Elements[2]).ID, ((ElementTestClass)actual.Elements[2]).ID); Assert.AreEqual(expected.StringArray.Length, actual.StringArray.Length); ! Assert.AreEqual(expected.StringArray[0], actual.StringArray[0]); ! Assert.AreEqual(expected.StringArray[1], actual.StringArray[1]); ! Assert.AreEqual(expected.StringArray[2], actual.StringArray[2]); } } --- 30,68 ---- } + public static ArrayTestClass CreateDays() + { + ArrayTestClass testClass = new ArrayTestClass(); + testClass.Days = new DayOfWeek[] { DayOfWeek.Monday, DayOfWeek.Wednesday, DayOfWeek.Friday }; + return testClass; + } + public static string GetXml() { ! return "<array-test><stringArray><string>1</string><string>2</string><string>3</string></stringArray><days />" + "<elementArray><element><id>1</id></element><element><id>2</id></element><element><id>3</id></element></elementArray></array-test>"; } + public static string GetXmlForDays() + { + return "<array-test><days><day>Monday</day><day>Wednesday</day><day>Friday</day></days></array-test>"; + } + public static void AssertEquals(ArrayTestClass expected, ArrayTestClass actual) { Assert.AreEqual(expected.Elements.Length, actual.Elements.Length); ! for (int i = 0; i < expected.Elements.Length; i++) ! { ! Assert.AreEqual(expected.Elements[i], actual.Elements[i]); ! } Assert.AreEqual(expected.StringArray.Length, actual.StringArray.Length); ! for (int i = 0; i < expected.StringArray.Length; i++) ! { ! Assert.AreEqual(expected.StringArray[i], actual.StringArray[i]); ! } ! Assert.AreEqual(expected.Days.Length, actual.Days.Length); ! for (int i = 0; i < expected.Days.Length; i++) ! { ! Assert.AreEqual(expected.Days[i], actual.Days[i]); ! } } } Index: CollectionTestClass.cs =================================================================== RCS file: /cvsroot/netreflector/NetReflector/src/NetReflector.Test/resources/CollectionTestClass.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CollectionTestClass.cs 22 Oct 2004 12:45:34 -0000 1.4 --- CollectionTestClass.cs 16 Nov 2004 04:41:19 -0000 1.5 *************** *** 11,15 **** [ReflectorCollection("elements", Required=false)] ! public ArrayList ElementList; [ReflectorCollection("list", InstanceType=typeof(ArrayList), Required=false)] --- 11,15 ---- [ReflectorCollection("elements", Required=false)] ! public ArrayList ElementList = new ArrayList(); [ReflectorCollection("list", InstanceType=typeof(ArrayList), Required=false)] *************** *** 28,31 **** --- 28,39 ---- } + public static CollectionTestClass CreateCollectionContainingNulls() + { + CollectionTestClass target = new CollectionTestClass(); + target.ElementList = new ArrayList(new ElementTestClass[] { ElementTestClass.Create("1"), null, ElementTestClass.Create("3") }); + target.List = new ArrayList(new string[] { "1", null, "3" }); + return target; + } + public static void AssertEquals(CollectionTestClass expected, CollectionTestClass actual) { *************** *** 46,49 **** --- 54,63 ---- } + public static string GetXmlWithMissingNullElements() + { + return "<collectiontest><elements><element><id>1</id></element><element><id>3</id></element></elements>" + + "<list><string>1</string><string>3</string></list></collectiontest>"; + } + public static string GetXmlWithEmbeddedComment() { |