[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"); }
[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"); }
[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++; } }
[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"); }
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); } }
[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"); }
[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"); }
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"); }
[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"); }
[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"); }
[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"); }
[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"); }
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"); } }
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"); }
[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 } }
[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"); }
[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"); }
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"); }
[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"); }
[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"); }
[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"); }
[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"); }
[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"); }
[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"); }
[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"); }
[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"); }
[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"); }
[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"); }
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); } }