System.Data.Tests.DataViewTest2.Sort C# (CSharp) Method

Sort() private method

private Sort ( ) : void
return void
        public void Sort()
        {
            DataRow[] drArrTable;

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

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

            dv.Sort = "ParentId";
            drArrTable = dt.Select("", "ParentId");
            // sort = ParentId
            Assert.Equal(true, CompareSortedRowsByParentAndChildId(dv, drArrTable));

            dv.Sort = "ChildId";
            drArrTable = dt.Select("", "ChildId");
            // sort = ChildId
            Assert.Equal(true, CompareSortedRowsByParentAndChildId(dv, drArrTable));

            dv.Sort = "ParentId Desc, ChildId";
            drArrTable = dt.Select("", "ParentId Desc, ChildId");
            // sort = ParentId Desc, ChildId
            Assert.Equal(true, CompareSortedRowsByParentAndChildId(dv, drArrTable));

            dv.Sort = "ChildId Asc, ParentId";
            drArrTable = dt.Select("", "ChildId Asc, ParentId");
            // sort = ChildId Asc, ParentId
            Assert.Equal(true, CompareSortedRowsByParentAndChildId(dv, drArrTable));

            dv.Sort = "ChildId Asc, ChildId Desc";
            drArrTable = dt.Select("", "ChildId Asc, ChildId Desc");
            // sort = ChildId Asc, ChildId Desc
            Assert.Equal(true, CompareSortedRowsByParentAndChildId(dv, drArrTable));

            // IndexOutOfRangeException - 1
            Assert.Throws<IndexOutOfRangeException>(() =>
            {
                dv.Sort = "something";
            });

            // IndexOutOfRangeException - 2
            Assert.Throws<IndexOutOfRangeException>(() =>
            {
                dv.Sort = "ColumnId Desc Asc";
            });

            // IndexOutOfRangeException - 3
            Assert.Throws<IndexOutOfRangeException>(() =>
            {
                dv.Sort = "ColumnId blabla";
            });
        }