2007-11-14 Atushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Wed, 14 Nov 2007 08:10:43 +0000 (08:10 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Wed, 14 Nov 2007 08:10:43 +0000 (08:10 -0000)
* DataSetTest.cs : added test for r89307 fix (it is for XmlSerializer
  but needs to be in sys.data).
* MonkeyDataSet.cs : test support classes (generated by xsd).

* System.Data_test.dll.sources: added MonkeyDataSet.cs, test helper.

svn path=/trunk/mcs/; revision=89596

mcs/class/System.Data/ChangeLog
mcs/class/System.Data/System.Data_test.dll.sources
mcs/class/System.Data/Test/System.Data/ChangeLog
mcs/class/System.Data/Test/System.Data/DataSetTest.cs
mcs/class/System.Data/Test/System.Data/MonkeyDataSet.cs [new file with mode: 0755]

index a9c251586ec8f367c8a127c8db447fdf137c57b6..50daea2b8142a6ad35ec8d51117684840818ac9a 100644 (file)
@@ -1,3 +1,7 @@
+2007-11-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * System.Data_test.dll.sources: added MonkeyDataSet.cs, test helper.
+
 2007-10-20  Gert Driesen  <drieseng@users.sourceforge.net>
 
        * System.Data_test.dll.sources: Added DbDataAdapterTest.cs,
index 1d10ba8e16db5efd47039ef32218b2e91c2128a8..3e7329bb90a6b2b74f02c93d2191dc047ab81d86 100644 (file)
@@ -54,6 +54,7 @@ System.Data/DataViewTest_IBindingList.cs
 System.Data/DataViewTest_IBindingListView.cs
 System.Data/ForeignKeyConstraintTest.cs
 System.Data/ForeignKeyConstraintTest2.cs
+System.Data/MonkeyDataSet.cs
 System.Data/TypedDataSetGeneratorTest.cs
 System.Data/UniqueConstraintTest.cs
 System.Data/UniqueConstraintTest2.cs
index 77f4ea960675097e6ce93d4a6c9f615295fef44a..501b092063cbb936614b8ad45c836594e62bebaa 100644 (file)
@@ -1,3 +1,9 @@
+2007-11-14  Atushi Enomoto  <atsushi@ximian.com>
+
+       * DataSetTest.cs : added test for r89307 fix (it is for XmlSerializer
+         but needs to be in sys.data).
+       * MonkeyDataSet.cs : test support classes (generated by xsd).
+
 2007-10-21  Gert Driesen  <drieseng@users.sourceforge.net>
 
        * DataColumnTest.cs: No longer derive from deprecated Assertion class.
index 80880e2fa39eec0202b39a9c8750412a4c8ddbe5..99dcc74e27569107069be98cd28404fbf6ac53e7 100644 (file)
@@ -2260,6 +2260,17 @@ namespace MonoTests.System.Data
                }
 
 #if NET_2_0
+
+               // it is basically a test for XmlSerializer, but I need it
+               // here to not add dependency on sys.data.dll in sys.xml test.
+               [Test]
+               public void ReflectTypedDataSet ()
+               {
+                       XmlReflectionImporter imp = new XmlReflectionImporter ();
+                       // it used to cause "missing GetDataSetSchema" error.
+                       imp.ImportTypeMapping (typeof (MonkeyDataSet));
+               }
+
                #region DataSet.CreateDataReader Tests and DataSet.Load Tests
 
                private DataSet ds;
diff --git a/mcs/class/System.Data/Test/System.Data/MonkeyDataSet.cs b/mcs/class/System.Data/Test/System.Data/MonkeyDataSet.cs
new file mode 100755 (executable)
index 0000000..da46024
--- /dev/null
@@ -0,0 +1,361 @@
+// ------------------------------------------------------------------------------
+//  <autogenerated>
+//      This code was generated by a tool.
+//      Mono Runtime Version: 1.1.4322.2032
+// 
+//      Changes to this file may cause incorrect behavior and will be lost if 
+//      the code is regenerated.
+//  </autogenerated>
+// ------------------------------------------------------------------------------
+
+// 
+//This source code was auto-generated by MonoXSD
+//
+using System;
+using System.Collections;
+using System.ComponentModel;
+using System.Data;
+using System.Runtime.Serialization;
+using System.Xml;
+
+
+public class MonkeyDataSet : System.Data.DataSet, System.Xml.Serialization.IXmlSerializable {
+    
+    public delegate void MonkeyTableRowChangedEventHandler(object o, MonkeyTableRowChangedEventArgs e);
+    
+    private MonkeyTableDataTable __tableMonkeyTable;
+    
+    public MonkeyDataSet() {
+        this.InitializeClass();
+        System.ComponentModel.CollectionChangeEventHandler handler = new System.ComponentModel.CollectionChangeEventHandler(new System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged));
+        this.Tables.CollectionChanged += handler;
+        this.Relations.CollectionChanged += handler;
+    }
+    
+    protected MonkeyDataSet(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext ctx) {
+        // TODO: implement
+        throw new System.NotImplementedException();
+    }
+    
+    public virtual MonkeyTableDataTable MonkeyTable {
+        get {
+            return this.__tableMonkeyTable;
+        }
+    }
+    
+    public override System.Data.DataSet Clone() {
+        MonkeyDataSet set = ((MonkeyDataSet)(base.Clone()));
+        set.InitializeFields();
+        return set;
+    }
+    
+    protected override System.Xml.Schema.XmlSchema GetSchemaSerializable() {
+        System.IO.StringWriter sw = new System.IO.StringWriter();
+        this.WriteXmlSchema(sw);
+        return System.Xml.Schema.XmlSchema.Read(new System.Xml.XmlTextReader(new System.IO.StringReader(sw.ToString())), null);
+    }
+    
+    System.Xml.Schema.XmlSchema System.Xml.Serialization.IXmlSerializable.GetSchema() {
+        return this.GetSchemaSerializable();
+    }
+    
+    internal void InitializeClass() {
+        this.DataSetName = "MonkeyDataSet";
+        this.Prefix = "";
+        this.Namespace = "";
+        this.Locale = new System.Globalization.CultureInfo("ja-JP");
+        this.CaseSensitive = false;
+        this.EnforceConstraints = true;
+        this.__tableMonkeyTable = new MonkeyTableDataTable();
+        this.Tables.Add(this.__tableMonkeyTable);
+    }
+    
+    internal void InitializeFields() {
+        this.__tableMonkeyTable.InitializeFields();
+    }
+    
+    private void SchemaChanged(object sender, System.ComponentModel.CollectionChangeEventArgs e) {
+        if ((e.Action == System.ComponentModel.CollectionChangeAction.Remove)) {
+            this.InitializeFields();
+        }
+    }
+    
+    public class MonkeyTableDataTable : System.Data.DataTable, System.Collections.IEnumerable {
+        
+        private System.Data.DataColumn __columnID;
+        
+        private System.Data.DataColumn __columnName;
+        
+        private System.Data.DataColumn __columnAge;
+        
+        private System.Data.DataColumn __columnExists;
+        
+        internal MonkeyTableDataTable() : 
+                base("MonkeyTable") {
+            this.InitializeClass();
+            this.InitializeFields();
+        }
+        
+        internal MonkeyTableDataTable(System.Data.DataTable tableMonkeyTable) : 
+                base(tableMonkeyTable.TableName) {
+            // TODO: implement
+            throw new System.NotImplementedException();
+        }
+        
+        public virtual int Count {
+            get {
+                return this.Rows.Count;
+            }
+        }
+        
+        public virtual MonkeyTableRow this[int i] {
+            get {
+                return ((MonkeyTableRow)(this.Rows[i]));
+            }
+        }
+        
+        internal System.Data.DataColumn IDColumn {
+            get {
+                return this.__columnID;
+            }
+        }
+        
+        internal System.Data.DataColumn NameColumn {
+            get {
+                return this.__columnName;
+            }
+        }
+        
+        internal System.Data.DataColumn AgeColumn {
+            get {
+                return this.__columnAge;
+            }
+        }
+        
+        internal System.Data.DataColumn ExistsColumn {
+            get {
+                return this.__columnExists;
+            }
+        }
+        
+        public event MonkeyTableRowChangedEventHandler MonkeyTableRowChanging;
+        
+        public event MonkeyTableRowChangedEventHandler MonkeyTableRowChanged;
+        
+        public event MonkeyTableRowChangedEventHandler MonkeyTableRowDeleting;
+        
+        public event MonkeyTableRowChangedEventHandler MonkeyTableRowDeleted;
+        
+        private void InitializeClass() {
+            this.Columns.Add(new System.Data.DataColumn("ID", typeof(System.Guid)));
+            this.Columns.Add(new System.Data.DataColumn("Name", typeof(string)));
+            this.Columns.Add(new System.Data.DataColumn("Age", typeof(int)));
+            this.Columns.Add(new System.Data.DataColumn("Exists", typeof(bool)));
+        }
+        
+        internal void InitializeFields() {
+            this.__columnID = this.Columns["ID"];
+            this.__columnName = this.Columns["Name"];
+            this.__columnAge = this.Columns["Age"];
+            this.__columnExists = this.Columns["Exists"];
+        }
+        
+        public virtual System.Collections.IEnumerator GetEnumerator() {
+            return this.Rows.GetEnumerator();
+        }
+        
+        public override System.Data.DataTable Clone() {
+            MonkeyTableDataTable t = ((MonkeyTableDataTable)(base.Clone()));
+            t.InitializeFields();
+            return t;
+        }
+        
+        protected override System.Data.DataTable CreateInstance() {
+            return new MonkeyTableDataTable();
+        }
+        
+        public virtual void AddMonkeyTableRow(MonkeyTableRow row) {
+            this.Rows.Add(row);
+        }
+        
+        public virtual MonkeyTableRow AddMonkeyTableRow(System.Guid ID, string Name, int Age, bool Exists) {
+            MonkeyTableRow row = this.NewMonkeyTableRow();
+            row["ID"] = ID;
+            row["Name"] = Name;
+            row["Age"] = Age;
+            row["Exists"] = Exists;
+            this.Rows.Add(row);
+            return row;
+        }
+        
+        public virtual MonkeyTableRow NewMonkeyTableRow() {
+            return ((MonkeyTableRow)(this.NewRow()));
+        }
+        
+        protected override System.Data.DataRow NewRowFromBuilder(System.Data.DataRowBuilder builder) {
+            return new MonkeyTableRow(builder);
+        }
+        
+        public virtual void RemoveMonkeyTableRow(MonkeyTableRow row) {
+            this.Rows.Remove(row);
+        }
+        
+        protected override System.Type GetRowType() {
+            return typeof(MonkeyTableRow);
+        }
+        
+        protected override void OnRowChanging(System.Data.DataRowChangeEventArgs e) {
+            base.OnRowChanging(e);
+            if ((this.MonkeyTableRowChanging != null)) {
+                this.MonkeyTableRowChanging(this, new MonkeyTableRowChangedEventArgs(((MonkeyTableRow)(e.Row)), e.Action));
+            }
+        }
+        
+        protected override void OnRowChanged(System.Data.DataRowChangeEventArgs e) {
+            base.OnRowChanged(e);
+            if ((this.MonkeyTableRowChanged != null)) {
+                this.MonkeyTableRowChanged(this, new MonkeyTableRowChangedEventArgs(((MonkeyTableRow)(e.Row)), e.Action));
+            }
+        }
+        
+        protected override void OnRowDeleting(System.Data.DataRowChangeEventArgs e) {
+            base.OnRowDeleting(e);
+            if ((this.MonkeyTableRowDeleting != null)) {
+                this.MonkeyTableRowDeleting(this, new MonkeyTableRowChangedEventArgs(((MonkeyTableRow)(e.Row)), e.Action));
+            }
+        }
+        
+        protected override void OnRowDeleted(System.Data.DataRowChangeEventArgs e) {
+            base.OnRowDeleted(e);
+            if ((this.MonkeyTableRowDeleted != null)) {
+                this.MonkeyTableRowDeleted(this, new MonkeyTableRowChangedEventArgs(((MonkeyTableRow)(e.Row)), e.Action));
+            }
+        }
+    }
+    
+    public class MonkeyTableRow : System.Data.DataRow {
+        
+        private MonkeyTableDataTable tableMonkeyTable;
+        
+        internal MonkeyTableRow(System.Data.DataRowBuilder builder) : 
+                base(builder) {
+            this.tableMonkeyTable = ((MonkeyTableDataTable)(this.Table));
+        }
+        
+        public virtual System.Guid ID {
+            get {
+                object ret = this[this.tableMonkeyTable.IDColumn];
+                if ((ret == System.DBNull.Value)) {
+                    throw new System.Data.StrongTypingException("Cannot get strong typed value since it is DB null.", null);
+                }
+                else {
+                    return ((System.Guid)(ret));
+                }
+            }
+            set {
+                this[this.tableMonkeyTable.IDColumn] = value;
+            }
+        }
+        
+        public virtual string Name {
+            get {
+                object ret = this[this.tableMonkeyTable.NameColumn];
+                if ((ret == System.DBNull.Value)) {
+                    throw new System.Data.StrongTypingException("Cannot get strong typed value since it is DB null.", null);
+                }
+                else {
+                    return ((string)(ret));
+                }
+            }
+            set {
+                this[this.tableMonkeyTable.NameColumn] = value;
+            }
+        }
+        
+        public virtual int Age {
+            get {
+                object ret = this[this.tableMonkeyTable.AgeColumn];
+                if ((ret == System.DBNull.Value)) {
+                    throw new System.Data.StrongTypingException("Cannot get strong typed value since it is DB null.", null);
+                }
+                else {
+                    return ((int)(ret));
+                }
+            }
+            set {
+                this[this.tableMonkeyTable.AgeColumn] = value;
+            }
+        }
+        
+        public virtual bool Exists {
+            get {
+                object ret = this[this.tableMonkeyTable.ExistsColumn];
+                if ((ret == System.DBNull.Value)) {
+                    throw new System.Data.StrongTypingException("Cannot get strong typed value since it is DB null.", null);
+                }
+                else {
+                    return ((bool)(ret));
+                }
+            }
+            set {
+                this[this.tableMonkeyTable.ExistsColumn] = value;
+            }
+        }
+        
+        public virtual bool IsIDNull() {
+            return this.IsNull(this.tableMonkeyTable.IDColumn);
+        }
+        
+        public virtual void SetIDNull() {
+            this[this.tableMonkeyTable.IDColumn] = System.DBNull.Value;
+        }
+        
+        public virtual bool IsNameNull() {
+            return this.IsNull(this.tableMonkeyTable.NameColumn);
+        }
+        
+        public virtual void SetNameNull() {
+            this[this.tableMonkeyTable.NameColumn] = System.DBNull.Value;
+        }
+        
+        public virtual bool IsAgeNull() {
+            return this.IsNull(this.tableMonkeyTable.AgeColumn);
+        }
+        
+        public virtual void SetAgeNull() {
+            this[this.tableMonkeyTable.AgeColumn] = System.DBNull.Value;
+        }
+        
+        public virtual bool IsExistsNull() {
+            return this.IsNull(this.tableMonkeyTable.ExistsColumn);
+        }
+        
+        public virtual void SetExistsNull() {
+            this[this.tableMonkeyTable.ExistsColumn] = System.DBNull.Value;
+        }
+    }
+    
+    public class MonkeyTableRowChangedEventArgs : System.EventArgs {
+        
+        private MonkeyTableRow eventRow;
+        
+        private System.Data.DataRowAction eventAction;
+        
+        public MonkeyTableRowChangedEventArgs(MonkeyTableRow r, System.Data.DataRowAction a) {
+            this.eventRow = r;
+            this.eventAction = a;
+        }
+        
+        public MonkeyTableRow Row {
+            get {
+                return this.eventRow;
+            }
+        }
+        
+        public System.Data.DataRowAction Action {
+            get {
+                return this.eventAction;
+            }
+        }
+    }
+}