public delegate void testExceptionMethodCallback();
[Test]
- public void Add_Constraint()\r
- {\r
- DataTable dt = DataProvider.CreateUniqueConstraint();\r
- Assert.AreEqual(1,dt.Constraints.Count,"ccac#1"); \r
- Assert.AreEqual("Constraint1",dt.Constraints[0].ConstraintName,"ccac#2"); \r
-\r
- DataSet ds = DataProvider.CreateForigenConstraint();\r
- Assert.AreEqual(1,ds.Tables[1].Constraints.Count,"ccac#3");\r
- Assert.AreEqual(1,ds.Tables[0].Constraints.Count,"ccac#4");\r
-\r
- ArrayList arr = new ArrayList(1);\r
- arr.Add(new ConstraintException()); \r
- TestException( new testExceptionMethodCallback(DataProvider.TryToBreakUniqueConstraint),arr);\r
-\r
- arr = new ArrayList(1);\r
- arr.Add(new InvalidConstraintException()); \r
- TestException( new testExceptionMethodCallback(DataProvider.TryToBreakForigenConstraint),arr); \r
- }\r
-\r
- public void TestException(testExceptionMethodCallback dlg,IList exceptionList)\r
- { \r
- try {\r
- dlg();\r
- Assert.Fail("ccac#A", ((Exception)exceptionList[0]).ToString()); \r
- }\r
- catch(Exception ex) { \r
- foreach(Exception expectedEx in exceptionList)\r
- if ( (expectedEx.GetType()) == (ex.GetType()) )\r
- return; \r
- Assert.Fail("ccac#B");\r
- } \r
+ public void Add_Constraint()
+ {
+ DataTable dt = DataProvider.CreateUniqueConstraint();
+ Assert.AreEqual(1,dt.Constraints.Count,"ccac#1");
+ Assert.AreEqual("Constraint1",dt.Constraints[0].ConstraintName,"ccac#2");
+
+ DataSet ds = DataProvider.CreateForigenConstraint();
+ Assert.AreEqual(1,ds.Tables[1].Constraints.Count,"ccac#3");
+ Assert.AreEqual(1,ds.Tables[0].Constraints.Count,"ccac#4");
+
+ ArrayList arr = new ArrayList(1);
+ arr.Add(new ConstraintException());
+ TestException( new testExceptionMethodCallback(DataProvider.TryToBreakUniqueConstraint),arr);
+
+ arr = new ArrayList(1);
+ arr.Add(new InvalidConstraintException());
+ TestException( new testExceptionMethodCallback(DataProvider.TryToBreakForigenConstraint),arr);
+ }
+
+ public void TestException(testExceptionMethodCallback dlg,IList exceptionList)
+ {
+ try {
+ dlg();
+ Assert.Fail("ccac#A", ((Exception)exceptionList[0]).ToString());
+ }
+ catch(Exception ex) {
+ foreach(Exception expectedEx in exceptionList)
+ if ( (expectedEx.GetType()) == (ex.GetType()) )
+ return;
+ Assert.Fail("ccac#B");
+ }
}
[Test]
- public void Add_SDB1()\r
- {\r
- DataTable dt = DataProvider.CreateParentDataTable();\r
- dt.Constraints.Add("UniqueConstraint",dt.Columns["ParentId"],true);\r
- Assert.AreEqual(1,dt.Constraints.Count,1); \r
- Assert.AreEqual("UniqueConstraint",dt.Constraints[0].ConstraintName,"CN34"); \r
- }\r
+ public void Add_SDB1()
+ {
+ DataTable dt = DataProvider.CreateParentDataTable();
+ dt.Constraints.Add("UniqueConstraint",dt.Columns["ParentId"],true);
+ Assert.AreEqual(1,(double) dt.Constraints.Count,1);
+ Assert.AreEqual("UniqueConstraint",dt.Constraints[0].ConstraintName,"CN34");
+ }
[Test]
- public void Add_SDB2()\r
- {\r
- DataTable dt = DataProvider.CreateParentDataTable();\r
- dt.Constraints.Add("UniqueConstraint",dt.Columns["ParentId"],false);\r
- Assert.AreEqual(1,dt.Constraints.Count,"CN34"); \r
- Assert.AreEqual("UniqueConstraint",dt.Constraints[0].ConstraintName,"CN35"); \r
- }\r
+ public void Add_SDB2()
+ {
+ DataTable dt = DataProvider.CreateParentDataTable();
+ dt.Constraints.Add("UniqueConstraint",dt.Columns["ParentId"],false);
+ Assert.AreEqual(1,dt.Constraints.Count,"CN34");
+ Assert.AreEqual("UniqueConstraint",dt.Constraints[0].ConstraintName,"CN35");
+ }
[Test]
- public void Add_SDB3()\r
- {\r
- DataTable dt = DataProvider.CreateParentDataTable();\r
- dt.Constraints.Add("UniqueConstraint",dt.Columns["ParentId"],true);\r
- //Break the constraint\r
-\r
- ArrayList arr = new ArrayList(1);\r
- arr.Add(new ConstraintException()); \r
- TestException( new testExceptionMethodCallback(DataProvider.TryToBreakUniqueConstraint),arr);\r
-\r
- }\r
+ public void Add_SDB3()
+ {
+ DataTable dt = DataProvider.CreateParentDataTable();
+ dt.Constraints.Add("UniqueConstraint",dt.Columns["ParentId"],true);
+ //Break the constraint
+
+ ArrayList arr = new ArrayList(1);
+ arr.Add(new ConstraintException());
+ TestException( new testExceptionMethodCallback(DataProvider.TryToBreakUniqueConstraint),arr);
+
+ }
[Test]
[ExpectedException(typeof(ConstraintException))]
- public void Add_SDB4()\r
- {\r
- DataTable dt = DataProvider.CreateParentDataTable();\r
- dt.Constraints.Add("UniqueConstraint",dt.Columns["ParentId"],false);\r
- //Break the constraint --> but we shouldn't get the excption --> wrong assumpation\r
- //TODO:check the right thing\r
- DataProvider.TryToBreakUniqueConstraint();\r
- Assert.AreEqual(2,dt.Select("ParentId=1").Length,"CN36");\r
+ public void Add_SDB4()
+ {
+ DataTable dt = DataProvider.CreateParentDataTable();
+ dt.Constraints.Add("UniqueConstraint",dt.Columns["ParentId"],false);
+ //Break the constraint --> but we shouldn't get the excption --> wrong assumpation
+ //TODO:check the right thing
+ DataProvider.TryToBreakUniqueConstraint();
+ Assert.AreEqual(2,dt.Select("ParentId=1").Length,"CN36");
}
[Test]
- public void Add_Constraint_Column_Column()\r
- {\r
- DataTable parent = DataProvider.CreateParentDataTable();\r
- DataTable child = DataProvider.CreateChildDataTable();\r
- \r
- child.Constraints.Add("ForigenConstraint",parent.Columns[0],child.Columns[0]);\r
-\r
- Assert.AreEqual(1,parent.Constraints.Count,"ccaccc#1"); \r
- Assert.AreEqual(1,child.Constraints.Count,"ccaccc#2"); \r
- Assert.AreEqual("ForigenConstraint",child.Constraints[0].ConstraintName,"ccaccc#3");\r
-\r
- parent = DataProvider.CreateParentDataTable();\r
- child = DataProvider.CreateChildDataTable();\r
- \r
- child.Constraints.Add("ForigenConstraint",parent.Columns[0],child.Columns[0]);\r
-\r
- ArrayList arr = new ArrayList(1);\r
- arr.Add(new InvalidConstraintException()); \r
- TestException( new testExceptionMethodCallback(DataProvider.TryToBreakForigenConstraint),arr);\r
-\r
- Assert.AreEqual(1,parent.Constraints.Count,"ccaccc#4"); \r
- Assert.AreEqual(1,child.Constraints.Count,"ccaccc#5"); \r
+ public void Add_Constraint_Column_Column()
+ {
+ DataTable parent = DataProvider.CreateParentDataTable();
+ DataTable child = DataProvider.CreateChildDataTable();
+
+ child.Constraints.Add("ForigenConstraint",parent.Columns[0],child.Columns[0]);
+
+ Assert.AreEqual(1,parent.Constraints.Count,"ccaccc#1");
+ Assert.AreEqual(1,child.Constraints.Count,"ccaccc#2");
+ Assert.AreEqual("ForigenConstraint",child.Constraints[0].ConstraintName,"ccaccc#3");
+
+ parent = DataProvider.CreateParentDataTable();
+ child = DataProvider.CreateChildDataTable();
+
+ child.Constraints.Add("ForigenConstraint",parent.Columns[0],child.Columns[0]);
+
+ ArrayList arr = new ArrayList(1);
+ arr.Add(new InvalidConstraintException());
+ TestException( new testExceptionMethodCallback(DataProvider.TryToBreakForigenConstraint),arr);
+
+ Assert.AreEqual(1,parent.Constraints.Count,"ccaccc#4");
+ Assert.AreEqual(1,child.Constraints.Count,"ccaccc#5");
}
[Test]
- public void AddRange_C1()\r
- {\r
- DataTable dt = new DataTable();\r
- dt.Constraints.AddRange(null);\r
- Assert.AreEqual(0,dt.Constraints.Count,"ccarc#1");\r
- }\r
-\r
+ public void AddRange_C1()
+ {
+ DataTable dt = new DataTable();
+ dt.Constraints.AddRange(null);
+ Assert.AreEqual(0,dt.Constraints.Count,"ccarc#1");
+ }
+
[Test]
- public void AddRange_C2()\r
- {\r
- DataSet ds = new DataSet();\r
- ds.Tables.Add(DataProvider.CreateParentDataTable());\r
- ds.Tables.Add(DataProvider.CreateChildDataTable());\r
- ds.Tables[1].Constraints.AddRange(GetConstraintArray(ds)); //Cuz foreign key belongs to child table\r
- Assert.AreEqual(2,ds.Tables[1].Constraints.Count,"ccarc#2");\r
- Assert.AreEqual(1,ds.Tables[0].Constraints.Count,"ccarc#3");\r
- }\r
+ public void AddRange_C2()
+ {
+ DataSet ds = new DataSet();
+ ds.Tables.Add(DataProvider.CreateParentDataTable());
+ ds.Tables.Add(DataProvider.CreateChildDataTable());
+ ds.Tables[1].Constraints.AddRange(GetConstraintArray(ds)); //Cuz foreign key belongs to child table
+ Assert.AreEqual(2,ds.Tables[1].Constraints.Count,"ccarc#2");
+ Assert.AreEqual(1,ds.Tables[0].Constraints.Count,"ccarc#3");
+ }
[Test]
[ExpectedException(typeof(ArgumentException))]
- public void AddRange_C3()\r
- {\r
- DataSet ds = new DataSet();\r
- ds.Tables.Add(DataProvider.CreateParentDataTable());\r
- ds.Tables.Add(DataProvider.CreateChildDataTable());\r
- Constraint badConstraint = new UniqueConstraint(ds.Tables[0].Columns[0]);\r
-\r
- ds.Tables[1].Constraints.AddRange(new Constraint[] {badConstraint}); //Cuz foreign key belongs to child table \r
- }\r
+ public void AddRange_C3()
+ {
+ DataSet ds = new DataSet();
+ ds.Tables.Add(DataProvider.CreateParentDataTable());
+ ds.Tables.Add(DataProvider.CreateChildDataTable());
+ Constraint badConstraint = new UniqueConstraint(ds.Tables[0].Columns[0]);
+
+ ds.Tables[1].Constraints.AddRange(new Constraint[] {badConstraint}); //Cuz foreign key belongs to child table
+ }
[Test]
- public void AddRange_C4()\r
- {\r
- ArrayList arr = new ArrayList(1);\r
- arr.Add(new ArgumentException());\r
- TestException(new testExceptionMethodCallback(AddRange_C3),arr);\r
- }\r
-\r
- private Constraint[] GetConstraintArray(DataSet ds)\r
- {\r
- DataTable parent = ds.Tables[0]; \r
- DataTable child = ds.Tables[1]; \r
- Constraint[] constArray = new Constraint[2];\r
-\r
- //Create unique \r
- constArray[0] = new UniqueConstraint("Unique1",child.Columns["ChildDouble"]);\r
- //Create foreign \r
- constArray[1] = new ForeignKeyConstraint(parent.Columns[0],child.Columns[1]);\r
-\r
- return constArray;\r
- }\r
-\r
- [Test]\r
- public void Item()\r
- {\r
- DataTable dt = DataProvider.CreateUniqueConstraint();\r
- dt.Constraints[0].ConstraintName = "constraint1";\r
- Assert.AreEqual("constraint1",dt.Constraints[0].ConstraintName,"cci#1");\r
- Assert.AreEqual("constraint1",dt.Constraints["constraint1"].ConstraintName,"cci#2");\r
-\r
- ArrayList arr = new ArrayList(1);\r
- arr.Add(new IndexOutOfRangeException()); \r
- TestException(new testExceptionMethodCallback(Item2),arr);\r
- }\r
-\r
- private void Item2()\r
- {\r
- DataTable dt = DataProvider.CreateUniqueConstraint();\r
- dt.Constraints[1].ConstraintName = "error";\r
- }\r
-\r
- private bool collectionChanged=false;\r
-\r
- [Test]\r
- public void RemoveAt_Integer()\r
- {\r
- DataTable dt = DataProvider.CreateUniqueConstraint();\r
- dt.Constraints.RemoveAt(0);\r
- Assert.AreEqual(0,dt.Constraints.Count,"ccrai#1");\r
-\r
- dt = DataProvider.CreateUniqueConstraint();\r
- Constraint con = new UniqueConstraint(dt.Columns["String1"],false);\r
- dt.Constraints[0].ConstraintName = "constraint1";\r
- con.ConstraintName="constraint2";\r
- dt.Constraints.Add(con);\r
- dt.Constraints.RemoveAt(0);\r
- Assert.AreEqual(1,dt.Constraints.Count,"ccrai#2");\r
- Assert.AreEqual("constraint2",dt.Constraints[0].ConstraintName,"ccrai#3");\r
-\r
- dt = DataProvider.CreateUniqueConstraint();\r
- dt.Constraints.CollectionChanged+=new CollectionChangeEventHandler(Constraints_CollectionChanged);\r
- dt.Constraints.RemoveAt(0);\r
- Assert.AreEqual(true,collectionChanged,"ccrai#4"); //Checking that event has raised\r
-\r
- ArrayList arr = new ArrayList(1);\r
- arr.Add(new IndexOutOfRangeException());\r
- TestException(new testExceptionMethodCallback(RemoveAt_I),arr);\r
- }\r
-\r
- private void Constraints_CollectionChanged(object sender, CollectionChangeEventArgs e)\r
- {\r
- collectionChanged = true;\r
- }\r
-\r
- private void RemoveAt_I()\r
- {\r
- DataTable dt = DataProvider.CreateUniqueConstraint();\r
- dt.Constraints.RemoveAt(2);\r
- }\r
+ public void AddRange_C4()
+ {
+ ArrayList arr = new ArrayList(1);
+ arr.Add(new ArgumentException());
+ TestException(new testExceptionMethodCallback(AddRange_C3),arr);
+ }
+
+ private Constraint[] GetConstraintArray(DataSet ds)
+ {
+ DataTable parent = ds.Tables[0];
+ DataTable child = ds.Tables[1];
+ Constraint[] constArray = new Constraint[2];
+
+ //Create unique
+ constArray[0] = new UniqueConstraint("Unique1",child.Columns["ChildDouble"]);
+ //Create foreign
+ constArray[1] = new ForeignKeyConstraint(parent.Columns[0],child.Columns[1]);
+
+ return constArray;
+ }
+
+ [Test]
+ public void Item()
+ {
+ DataTable dt = DataProvider.CreateUniqueConstraint();
+ dt.Constraints[0].ConstraintName = "constraint1";
+ Assert.AreEqual("constraint1",dt.Constraints[0].ConstraintName,"cci#1");
+ Assert.AreEqual("constraint1",dt.Constraints["constraint1"].ConstraintName,"cci#2");
+
+ ArrayList arr = new ArrayList(1);
+ arr.Add(new IndexOutOfRangeException());
+ TestException(new testExceptionMethodCallback(Item2),arr);
+ }
+
+ private void Item2()
+ {
+ DataTable dt = DataProvider.CreateUniqueConstraint();
+ dt.Constraints[1].ConstraintName = "error";
+ }
+
+ private bool collectionChanged=false;
+
+ [Test]
+ public void RemoveAt_Integer()
+ {
+ DataTable dt = DataProvider.CreateUniqueConstraint();
+ dt.Constraints.RemoveAt(0);
+ Assert.AreEqual(0,dt.Constraints.Count,"ccrai#1");
+
+ dt = DataProvider.CreateUniqueConstraint();
+ Constraint con = new UniqueConstraint(dt.Columns["String1"],false);
+ dt.Constraints[0].ConstraintName = "constraint1";
+ con.ConstraintName="constraint2";
+ dt.Constraints.Add(con);
+ dt.Constraints.RemoveAt(0);
+ Assert.AreEqual(1,dt.Constraints.Count,"ccrai#2");
+ Assert.AreEqual("constraint2",dt.Constraints[0].ConstraintName,"ccrai#3");
+
+ dt = DataProvider.CreateUniqueConstraint();
+ dt.Constraints.CollectionChanged+=new CollectionChangeEventHandler(Constraints_CollectionChanged);
+ dt.Constraints.RemoveAt(0);
+ Assert.AreEqual(true,collectionChanged,"ccrai#4"); //Checking that event has raised
+
+ ArrayList arr = new ArrayList(1);
+ arr.Add(new IndexOutOfRangeException());
+ TestException(new testExceptionMethodCallback(RemoveAt_I),arr);
+ }
+
+ private void Constraints_CollectionChanged(object sender, CollectionChangeEventArgs e)
+ {
+ collectionChanged = true;
+ }
+
+ private void RemoveAt_I()
+ {
+ DataTable dt = DataProvider.CreateUniqueConstraint();
+ dt.Constraints.RemoveAt(2);
+ }
[Test]
public void RemoveTest ()