Merge pull request #1304 from slluis/mac-proxy-autoconfig
[mono.git] / mcs / class / System.XML / Test / System.Xml.Serialization / XmlSerializerTestClasses.cs
index 62b3698c8370b86be8543b05441ba6af55b8237f..b4ec87869e6c0bd59338d3e4be07070de3d4df6b 100644 (file)
@@ -1117,5 +1117,66 @@ namespace MonoTests.System.Xml.TestClasses
                [XmlElement ("Extra", Order=1)]
                public string[] Extra;
        }
+
+       public class SimpleObjectA
+       {
+               [XmlAttribute]
+               public string Text
+               {
+                       get; set;
+               }
+
+               public static implicit operator SimpleObjectA (SimpleObjectB o)
+               {
+                       return new SimpleObjectA { Text = o.Text };
+               }
+
+               public static implicit operator SimpleObjectB (SimpleObjectA o)
+               {
+                return new SimpleObjectB { Text = o.Text };
+               }
+       }
+
+       public class SimpleObjectB
+       {
+               [XmlAttribute]
+               public string Text
+               {
+                       get; set;
+               }
+       }
+
+       public class ObjectWithElementRequiringImplicitCast
+       {
+               public ObjectWithElementRequiringImplicitCast () { }
+               public ObjectWithElementRequiringImplicitCast (string text)
+               {
+                       Object = new SimpleObjectB { Text = text };
+               }
+
+               [XmlElement(Type = typeof (SimpleObjectA))]
+               public SimpleObjectB Object
+               {
+                       get; set;
+               }
+       }
+
+       public class ObjectWithNullableArrayItems
+       {
+               [XmlArrayItem ("Element", IsNullable = true)]
+               public List<SimpleClass> Elements;
+       }
+
+       public class ObjectWithNonNullableArrayItems
+       {
+               [XmlArrayItem ("Element", IsNullable = false)]
+               public List<SimpleClass> Elements;
+       }
+
+       public class ObjectWithNotSpecifiedNullableArrayItems
+       {
+               [XmlArrayItem ("Element")]
+               public List<SimpleClass> Elements;
+       }
 }