コード例 #1
0
        [Test] public void ApplyDefaultSort()
        {
            DataTable dt = DataProvider.CreateParentDataTable();
            DataView  dv = new DataView(dt);

            // ApplyDefaultSort - default value
            Assert.AreEqual(false, dv.ApplyDefaultSort, "DV24");

            // ApplyDefaultSort - true
            dv.ApplyDefaultSort = true;
            Assert.AreEqual(true, dv.ApplyDefaultSort, "DV25");

            // ApplyDefaultSort - false
            dv.ApplyDefaultSort = false;
            Assert.AreEqual(false, dv.ApplyDefaultSort, "DV26");
        }
コード例 #2
0
        [Test] public void constraintName()
        {
            DataTable dtParent = DataProvider.CreateParentDataTable();

            UniqueConstraint uc = null;

            uc = new UniqueConstraint(dtParent.Columns[0]);

            // default
            Assert.AreEqual(string.Empty, uc.ConstraintName, "UC10");

            uc.ConstraintName = "myConstraint";

            // set/get
            Assert.AreEqual("myConstraint", uc.ConstraintName, "UC11");
        }
コード例 #3
0
        [Test] public void CopyTo()
        {
            DataTable dt = DataProvider.CreateParentDataTable();

            DataRow[] arr = new DataRow[dt.Rows.Count];
            dt.Rows.CopyTo(arr, 0);
            Assert.AreEqual(dt.Rows.Count, arr.Length, "DRWC1");

            int index = 0;

            foreach (DataRow dr in dt.Rows)
            {
                Assert.AreEqual(dr, arr[index], "DRWC2");
                index++;
            }
        }
コード例 #4
0
        [Test] public new void ToString()
        {
            DataTable dtParent = DataProvider.CreateParentDataTable();
            DataTable dtChild  = DataProvider.CreateChildDataTable();

            ForeignKeyConstraint fc = null;

            fc = new ForeignKeyConstraint(dtParent.Columns[0], dtChild.Columns[0]);

            // ToString - default
            Assert.AreEqual(string.Empty, fc.ToString(), "FKC8");

            fc = new ForeignKeyConstraint("myConstraint", dtParent.Columns[0], dtChild.Columns[0]);
            // Tostring - Constraint name
            Assert.AreEqual("myConstraint", fc.ToString(), "FKC9");
        }
コード例 #5
0
ファイル: DataColumnTest2.cs プロジェクト: pmq20/mono_forked
        public void Expression_Simple()
        {
            DataTable dt = DataProvider.CreateParentDataTable();
            //Simple expression --> not aggregate
            DataColumn dc = new DataColumn("expr", Type.GetType("System.Decimal"));

            dt.Columns.Add(dc);
            dt.Columns["expr"].Expression = dt.Columns[0].ColumnName + "*0.52 +" + dt.Columns[0].ColumnName;

            //Check the values
            //double temp;
            string temp;
            string str;

            foreach (DataRow dr in dt.Rows)
            {
                str = (((int)dr[0]) * 0.52 + ((int)dr[0])).ToString();
                if (str.Length > 3)
                {
                    temp = str.Substring(0, 4);
                }
                else
                {
                    temp = str;
                }
                //Due to bug in GH 4.56 sometimes looks like : 4.56000000000000005

                //temp = Convert.ToDouble(str);

                if (dr["expr"].ToString().Length > 3)
                {
                    str = dr["expr"].ToString().Substring(0, 4);
                }
                else
                {
                    str = dr["expr"].ToString();
                }

                if (str == "7.60")
                {
                    str = "7.6";
                }

                Assert.AreEqual(temp, str, "dcse#1");
                //Compare(Convert.ToDouble(dr["expr"]), temp);
            }
        }
コード例 #6
0
        [Test] public void extendedProperties()
        {
            DataTable dtParent = DataProvider.CreateParentDataTable();
            DataTable dtChild  = DataProvider.CreateParentDataTable();

            ForeignKeyConstraint fc = null;

            fc = new ForeignKeyConstraint(dtParent.Columns[0], dtChild.Columns[0]);

            PropertyCollection pc = fc.ExtendedProperties;

            // Checking ExtendedProperties default
            Assert.AreEqual(true, fc != null, "FKC48");

            // Checking ExtendedProperties count
            Assert.AreEqual(0, pc.Count, "FKC49");
        }
コード例 #7
0
        [Test] public void DataSet()
        {
            DataSet   ds       = new DataSet();
            DataTable dtChild  = DataProvider.CreateChildDataTable();
            DataTable dtParent = DataProvider.CreateParentDataTable();

            ds.Tables.Add(dtParent);
            ds.Tables.Add(dtChild);

            DataRelation dRel;

            dRel = new DataRelation("MyRelation", dtParent.Columns[0], dtChild.Columns[0]);
            ds.Relations.Add(dRel);

            // DataSet
            Assert.AreEqual(ds, dRel.DataSet, "DR5");
        }
コード例 #8
0
        public void DataRowCollection_Find_O3()
        {
            DataTable dt = DataProvider.CreateParentDataTable();

            dt.PrimaryKey = new DataColumn[] { dt.Columns[0], dt.Columns[1] };

            //Prepare values array
            object[] arr = new object[2];
            arr[0] = 2;
            arr[1] = "2-String1";

            Assert.AreEqual(dt.Rows[1], dt.Rows.Find((object[])arr), "DRWC25");

            arr[0] = 8;

            Assert.AreEqual(null, dt.Rows.Find((object[])arr), "DRWC26");
        }
コード例 #9
0
        [Test]         // this [Int32]
        public void Indexer1()
        {
            DataTable  dt = DataProvider.CreateParentDataTable();
            DataColumn col;

            col = dt.Columns [5];
            Assert.IsNotNull(col, "#A1");
            Assert.AreEqual("ParentBool", col.ColumnName, "#A2");

            col = dt.Columns [0];
            Assert.IsNotNull(col, "#B1");
            Assert.AreEqual("ParentId", col.ColumnName, "#B2");

            col = dt.Columns [3];
            Assert.IsNotNull(col, "#C1");
            Assert.AreEqual("ParentDateTime", col.ColumnName, "#C2");
        }
コード例 #10
0
        [Test] public void TestContains_ByColumnName()
        {
            DataTable dt = DataProvider.CreateParentDataTable();

            Assert.AreEqual(true, dt.Columns.Contains("ParentId"), "DCC45");
            Assert.AreEqual(true, dt.Columns.Contains("String1"), "DCC46");
            Assert.AreEqual(true, dt.Columns.Contains("ParentBool"), "DCC47");

            Assert.AreEqual(false, dt.Columns.Contains("ParentId1"), "DCC48");
            dt.Columns.Remove("ParentId");
            Assert.AreEqual(false, dt.Columns.Contains("ParentId"), "DCC49");

            dt.Columns["String1"].ColumnName = "Temp1";

            Assert.AreEqual(false, dt.Columns.Contains("String1"), "DCC50");
            Assert.AreEqual(true, dt.Columns.Contains("Temp1"), "DCC51");
        }
コード例 #11
0
        [Test]         // this [String]
        public void Indexer2()
        {
            DataTable            dt   = DataProvider.CreateParentDataTable();
            DataColumnCollection cols = dt.Columns;
            DataColumn           col;

            col = cols ["ParentId"];
            Assert.IsNotNull(col, "#A1");
            Assert.AreEqual("ParentId", col.ColumnName, "#A2");

            col = cols ["parentiD"];
            Assert.IsNotNull(col, "#B1");
            Assert.AreEqual("ParentId", col.ColumnName, "#B2");

            col = cols ["DoesNotExist"];
            Assert.IsNull(col, "#C");
        }
コード例 #12
0
        [Test] public void ParentKeyConstraint()
        {
            DataSet   ds       = new DataSet();
            DataTable dtChild  = DataProvider.CreateChildDataTable();
            DataTable dtParent = DataProvider.CreateParentDataTable();

            ds.Tables.Add(dtParent);
            ds.Tables.Add(dtChild);

            DataRelation dRel;

            dRel = new DataRelation("MyRelation", dtParent.Columns[0], dtChild.Columns[0]);
            ds.Relations.Add(dRel);

            // ChildKeyConstraint 1
            Assert.AreEqual(dtParent.Constraints[0], dRel.ParentKeyConstraint, "DR8");
        }
コード例 #13
0
        public void DataRowCollection_Contains_O3()
        {
            DataTable dt = DataProvider.CreateParentDataTable();

            dt.PrimaryKey = new DataColumn[] { dt.Columns[0], dt.Columns[1] };

            //Prepare values array
            object[] arr = new object[2];
            arr[0] = 1;
            arr[1] = "1-String1";

            Assert.AreEqual(true, dt.Rows.Contains((object[])arr), "DRWC19");

            arr[0] = 8;

            Assert.AreEqual(false, dt.Rows.Contains((object[])arr), "DRWC20");
        }
        [Test] // this [Int32]
        public void Indexer1_Index_Overflow()
        {
            DataTable dt = DataProvider.CreateParentDataTable();

            try
            {
                DataColumn column = dt.Columns [6];
                Assert.Fail("#1:" + column);
            }
            catch (IndexOutOfRangeException ex)
            {
                // Cannot find column 6
                Assert.AreEqual(typeof(IndexOutOfRangeException), ex.GetType(), "#2");
                Assert.IsNull(ex.InnerException, "#3");
                Assert.IsNotNull(ex.Message, "#4");
            }
        }
コード例 #15
0
        public void bug79233()
        {
            DataSet   ds       = new DataSet();
            DataTable dtChild  = DataProvider.CreateChildDataTable();
            DataTable dtParent = DataProvider.CreateParentDataTable();

            ds.Tables.Add(dtParent);
            ds.Tables.Add(dtChild);

            dtParent.Rows.Clear();
            dtChild.Rows.Clear();

            DataRelation dr = dtParent.ChildRelations.Add(dtParent.Columns [0], dtChild.Columns [0]);

            Assert.AreEqual("Relation1", dr.RelationName, "#1");
            dr = dtChild.ChildRelations.Add(dtChild.Columns [0], dtParent.Columns [0]);
            Assert.AreEqual("Relation2", dr.RelationName, "#1");
        }
コード例 #16
0
        [Test]         // this [String]
        public void Indexer2_Name_Null()
        {
            DataTable dt = DataProvider.CreateParentDataTable();

            try {
                DataColumn column = dt.Columns [(string)null];
                Assert.Fail("#1:" + column);
            } catch (ArgumentNullException ex) {
                Assert.AreEqual(typeof(ArgumentNullException), ex.GetType(), "#2");
                Assert.IsNull(ex.InnerException, "#3");
                Assert.IsNotNull(ex.Message, "#4");
#if NET_2_0
                Assert.AreEqual("name", ex.ParamName, "#5");
#else
                Assert.AreEqual("key", ex.ParamName, "#5");
#endif
            }
        }
コード例 #17
0
        [Test] public void Item()
        {
            //create the source datatable
            DataTable dt = DataProvider.CreateParentDataTable();

            //create the dataview for the table
            DataView dv = new DataView(dt);

            // DataView Item 0
            Assert.AreEqual(dv[0].Row, dt.Rows[0], "DV55");

            // DataView Item 4
            Assert.AreEqual(dv[4].Row, dt.Rows[4], "DV56");

            dv.RowFilter = "ParentId in (1,3,6)";

            // DataView Item 0,DataTable with filter
            Assert.AreEqual(dv[1].Row, dt.Rows[2], "DV57");
        }
コード例 #18
0
        [Test] public void IsPrimaryKey()
        {
            DataTable dtParent = DataProvider.CreateParentDataTable();

            UniqueConstraint uc = null;

            uc = new UniqueConstraint(dtParent.Columns[0], false);
            dtParent.Constraints.Add(uc);

            // primary key 1
            Assert.AreEqual(false, uc.IsPrimaryKey, "UC5");

            dtParent.Constraints.Remove(uc);
            uc = new UniqueConstraint(dtParent.Columns[0], true);
            dtParent.Constraints.Add(uc);

            // primary key 2
            Assert.AreEqual(true, uc.IsPrimaryKey, "UC6");
        }
コード例 #19
0
        public void DataRowCollection_Add_D1()
        {
            DataTable dt = DataProvider.CreateParentDataTable();

            dt.Rows.Clear();
            DataRow dr = dt.NewRow();

            dr["ParentId"]       = 10;
            dr["String1"]        = "string1";
            dr["String2"]        = string.Empty;
            dr["ParentDateTime"] = new DateTime(2004, 12, 15);
            dr["ParentDouble"]   = 3.14;
            dr["ParentBool"]     = false;

            dt.Rows.Add(dr);

            Assert.AreEqual(1, dt.Rows.Count, "RDWC13");
            Assert.AreEqual(dr, dt.Rows[0], "DRWC14");
        }
コード例 #20
0
        [Test] public void Find_ByArray()
        {
            int FindResult, ExpectedResult = -1;

            //create the source datatable
            DataTable dt = DataProvider.CreateParentDataTable();

            //create the dataview for the table
            DataView dv = new DataView(dt);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if ((int)dt.Rows[i]["ParentId"] == 3 && dt.Rows[i]["String1"].ToString() == "3-String1")
                {
                    ExpectedResult = i;
                    break;
                }
            }

            // Find ,no sort - exception
            try
            {
                FindResult = dv.Find(new object[] { "3", "3-String1" });
                Assert.Fail("DV49: Find Failed to throw ArgumentException");
            }
            catch (ArgumentException) {}
            catch (AssertionException exc) { throw  exc; }
            catch (Exception exc)
            {
                Assert.Fail("DV50: Find. Wrong exception type. Got:" + exc);
            }

            dv.Sort = "String1,ParentId";
            // Find = wrong sort, can not find
            FindResult = dv.Find(new object[] { "3", "3-String1" });
            Assert.AreEqual(-1, FindResult, "DV51");

            dv.Sort = "ParentId,String1";
            // Find
            FindResult = dv.Find(new object[] { "3", "3-String1" });
            Assert.AreEqual(ExpectedResult, FindResult, "DV52");
        }
コード例 #21
0
ファイル: DataRowViewTest2.cs プロジェクト: pmq20/mono_forked
        [Test] public void Delete()
        {
            DataTable dt = DataProvider.CreateParentDataTable();
            DataView  dv = new DataView(dt);

            DataRowView drv            = dv[0];
            int         TableRowsCount = dt.Rows.Count;
            int         ViewRowCount   = dv.Count;

            // DataView Count
            drv.Delete();
            Assert.AreEqual(dv.Count, ViewRowCount - 1, "DRV22");

            //the table count should stay the same until EndEdit is invoked
            // Table Count
            Assert.AreEqual(TableRowsCount, dt.Rows.Count, "DRV23");

            // DataRowState deleted
            Assert.AreEqual(DataRowState.Deleted, drv.Row.RowState, "DRV24");
        }
コード例 #22
0
        [Test] public void ChildColumns()
        {
            DataSet   ds       = new DataSet();
            DataTable dtChild  = DataProvider.CreateChildDataTable();
            DataTable dtParent = DataProvider.CreateParentDataTable();

            ds.Tables.Add(dtParent);
            ds.Tables.Add(dtChild);

            DataRelation dRel;

            dRel = new DataRelation("MyRelation", dtParent.Columns[0], dtChild.Columns[0]);
            ds.Relations.Add(dRel);

            // ChildColumns 1
            Assert.AreEqual(1, dRel.ChildColumns.Length, "DR1");

            // ChildColumns 2
            Assert.AreEqual(dtChild.Columns[0], dRel.ChildColumns[0], "DR2");
        }
コード例 #23
0
        [Test] public void Columns()
        {
            //int RowCount;
            DataSet   ds       = new DataSet();
            DataTable dtParent = DataProvider.CreateParentDataTable();
            DataTable dtChild  = DataProvider.CreateChildDataTable();

            ds.Tables.Add(dtParent);
            ds.Tables.Add(dtChild);

            ForeignKeyConstraint fc = null;

            fc = new ForeignKeyConstraint(dtParent.Columns[0], dtChild.Columns[0]);

            // Columns
            Assert.AreEqual(dtChild.Columns[0], fc.Columns[0], "FKC1");

            // Columns count
            Assert.AreEqual(1, fc.Columns.Length, "FKC2");
        }
コード例 #24
0
        [Test] public void Equals_O()
        {
            DataSet   ds       = new DataSet();
            DataTable dtParent = DataProvider.CreateParentDataTable();

            ds.Tables.Add(dtParent);

            UniqueConstraint uc1, uc2;

            uc1 = new UniqueConstraint(dtParent.Columns[0]);

            uc2 = new UniqueConstraint(dtParent.Columns[1]);
            // different columnn
            Assert.AreEqual(false, uc1.Equals(uc2), "UC3");

            //Two System.Data.ForeignKeyConstraint are equal if they constrain the same columns.
            // same column
            uc2 = new UniqueConstraint(dtParent.Columns[0]);
            Assert.AreEqual(true, uc1.Equals(uc2), "UC4");
        }
コード例 #25
0
        [Test] public void constraintName()
        {
            DataSet   ds       = new DataSet();
            DataTable dtParent = DataProvider.CreateParentDataTable();
            DataTable dtChild  = DataProvider.CreateChildDataTable();

            ds.Tables.Add(dtParent);
            ds.Tables.Add(dtChild);

            ForeignKeyConstraint fc = null;

            fc = new ForeignKeyConstraint(dtParent.Columns[0], dtChild.Columns[0]);

            // default
            Assert.AreEqual(string.Empty, fc.ConstraintName, "FKC12");

            fc.ConstraintName = "myConstraint";

            // set/get
            Assert.AreEqual("myConstraint", fc.ConstraintName, "FKC13");
        }
コード例 #26
0
ファイル: DataRowViewTest2.cs プロジェクト: pmq20/mono_forked
        [Test] public void RowVersion()
        {
            DataTable dt = DataProvider.CreateParentDataTable();
            DataView  dv = new DataView(dt);

            dt.Columns[1].DefaultValue = "default";
            DataRowView drv = dv[0];

            dt.Rows.Add(new object[] { 99 });
            dt.Rows[1].Delete();
            dt.Rows[2].BeginEdit();
            dt.Rows[2][1] = "aaa";

            dv.RowStateFilter = DataViewRowState.CurrentRows;
            // check Current
            Assert.AreEqual(DataRowVersion.Current, drv.RowVersion, "DRV46");

            dv.RowStateFilter = DataViewRowState.Deleted;
            // check Original
            Assert.AreEqual(DataRowVersion.Original, drv.RowVersion, "DRV47");
        }
コード例 #27
0
        [Test] public void nested()
        {
            DataSet   ds       = new DataSet();
            DataTable dtChild  = DataProvider.CreateChildDataTable();
            DataTable dtParent = DataProvider.CreateParentDataTable();

            ds.Tables.Add(dtParent);
            ds.Tables.Add(dtChild);

            DataRelation dRel;

            dRel = new DataRelation(null, dtParent.Columns[0], dtChild.Columns[0]);
            ds.Relations.Add(dRel);

            // Nested default
            Assert.AreEqual(false, dRel.Nested, "DR59");

            dRel.Nested = true;

            // Nested get/set
            Assert.AreEqual(true, dRel.Nested, "DR60");
        }
コード例 #28
0
        [Test] public void ctor_DataColumnPrimary()
        {
            DataTable dtParent = DataProvider.CreateParentDataTable();

            UniqueConstraint uc = null;

            uc = new UniqueConstraint(dtParent.Columns[0], false);
            dtParent.Constraints.Add(uc);

            // Ctor
            Assert.AreEqual(false, uc == null, "UC22");

            // primary key 1
            Assert.AreEqual(0, dtParent.PrimaryKey.Length, "UC23");

            dtParent.Constraints.Remove(uc);
            uc = new UniqueConstraint(dtParent.Columns[0], true);
            dtParent.Constraints.Add(uc);

            // primary key 2
            Assert.AreEqual(1, dtParent.PrimaryKey.Length, "UC24");
        }
コード例 #29
0
ファイル: DataRowViewTest2.cs プロジェクト: pmq20/mono_forked
        [Test] public void BeginEdit()
        {
            DataTable dt = DataProvider.CreateParentDataTable();
            DataView  dv = new DataView(dt);

            DataRowView drv = dv[0];

            drv.BeginEdit();
            drv["String1"] = "ChangeValue";

            // check Proposed value
            Assert.AreEqual("ChangeValue", dt.Rows[0]["String1", DataRowVersion.Proposed], "DRV1");

            // check Original value
            Assert.AreEqual("1-String1", dt.Rows[0]["String1", DataRowVersion.Original], "DRV2");

            // check IsEdit
            Assert.AreEqual(true, drv.IsEdit, "DRV3");

            // check IsEdit - change another row
            dv[1]["String1"] = "something";
            Assert.AreEqual(true, drv.IsEdit, "DRV4");
        }
コード例 #30
0
        public void RemoveAt_Integer()
        {
            DataTable dt = DataProvider.CreateParentDataTable();

            dt.Columns.CollectionChanged += new CollectionChangeEventHandlerDerived(Columns_CollectionChanged1);
            int originalColumnCount = dt.Columns.Count;

            dt.Columns.RemoveAt(0);
            Assert.AreEqual(originalColumnCount - 1, dt.Columns.Count, "dccrai#1");
            Assert.AreEqual(true, eventOccured, "dccrai#2");

            try
            {
                dt.Columns.RemoveAt(-1);
                Assert.Fail("dccrai#3: RemoveAt failed to throw IndexOutOfRangeException");
            }
            catch (IndexOutOfRangeException) {}
            catch (AssertionException exc) { throw  exc; }
            catch (Exception exc)
            {
                Assert.Fail("dccrai#4: RemoveAt. Wrong exception type. Got:" + exc);
            }
        }