System.Data.Tests.DataRowTest2.GetParentRows_DataRelation_DataRowVersion C# (CSharp) Méthode

GetParentRows_DataRelation_DataRowVersion() private méthode

private GetParentRows_DataRelation_DataRowVersion ( ) : void
Résultat void
        public void GetParentRows_DataRelation_DataRowVersion()
        {
            DataRow drParent, drChild;
            DataRow[] drArrExcepted, drArrResult;
            DataTable dtChild, dtParent;
            var ds = new DataSet();
            //Create tables
            dtChild = DataProvider.CreateChildDataTable();
            dtParent = DataProvider.CreateParentDataTable();
            //Add tables to dataset
            ds.Tables.Add(dtChild);
            ds.Tables.Add(dtParent);

            drParent = dtParent.Rows[0];
            drChild = dtChild.Select("ParentId=" + drParent["ParentId"])[0];

            //Duplicate several rows in order to create Many to Many relation
            dtParent.ImportRow(drParent);
            dtParent.ImportRow(drParent);
            dtParent.ImportRow(drParent);

            //Add Relation
            DataRelation dRel = new DataRelation("Parent-Child", dtParent.Columns["ParentId"], dtChild.Columns["ParentId"], false);
            ds.Relations.Add(dRel);

            //Get Excepted result
            drArrExcepted = dtParent.Select("ParentId=" + drParent["ParentId"], "", DataViewRowState.CurrentRows);
            //Get Result DataRowVersion.Current
            drArrResult = drChild.GetParentRows(dRel, DataRowVersion.Current);
            Assert.Equal(drArrExcepted, drArrResult);

            //Get Excepted result
            drArrExcepted = dtParent.Select("ParentId=" + drParent["ParentId"], "", DataViewRowState.OriginalRows);
            //Get Result DataRowVersion.Current
            drArrResult = drChild.GetParentRows(dRel, DataRowVersion.Original);
            Assert.Equal(drArrExcepted, drArrResult);

            //Get Excepted result, in this case Current = Default
            drArrExcepted = dtParent.Select("ParentId=" + drParent["ParentId"], "", DataViewRowState.CurrentRows);
            //Get Result DataRowVersion.Current
            drArrResult = drChild.GetParentRows(dRel, DataRowVersion.Default);
            Assert.Equal(drArrExcepted, drArrResult);

            Assert.Throws<InvalidConstraintException>(() =>
            {
                DataTable dtOtherParent = DataProvider.CreateParentDataTable();
                DataTable dtOtherChild = DataProvider.CreateChildDataTable();

                DataRelation drl = new DataRelation("newRelation", dtOtherParent.Columns[0], dtOtherChild.Columns[0]);
                drChild.GetParentRows(drl, DataRowVersion.Current);
            });
        }
DataRowTest2