System.Data.Tests.UniqueConstraintTest2.ctor_DataColumns C# (CSharp) Method

ctor_DataColumns() private method

private ctor_DataColumns ( ) : void
return void
        public void ctor_DataColumns()
        {
            Exception tmpEx = new Exception();
            DataTable dtParent = DataProvider.CreateParentDataTable();

            UniqueConstraint uc = null;
            uc = new UniqueConstraint(new DataColumn[] { dtParent.Columns[0], dtParent.Columns[1] });

            // Ctor - parent
            Assert.Equal(false, uc == null);

            // Ctor - add exisiting column
            dtParent.Rows.Add(new object[] { 99, "str1", "str2" });
            dtParent.Constraints.Add(uc);
            Assert.Throws<ConstraintException>(() => dtParent.Rows.Add(new object[] { 99, "str1", "str2" }));

            DataTable dtChild = DataProvider.CreateChildDataTable();
            uc = new UniqueConstraint(new DataColumn[] { dtChild.Columns[0], dtChild.Columns[1] });
            dtChild.Constraints.Add(uc);

            // Ctor - child
            Assert.Equal(false, uc == null);

            dtChild.Constraints.Clear();
            uc = new UniqueConstraint(new DataColumn[] { dtChild.Columns[1], dtChild.Columns[2] });

            //target columnn are not unnique, will throw an exception
            // ArgumentException - child
            Assert.Throws<ArgumentException>(() => dtChild.Constraints.Add(uc));
        }