System.Data.Tests.DataTableTest.Select C# (CSharp) Метод

Select() приватный Метод

private Select ( ) : void
Результат void
        public void Select()
        {
            DataSet Set = new DataSet();
            DataTable Mom = new DataTable("Mom");
            DataTable Child = new DataTable("Child");
            Set.Tables.Add(Mom);
            Set.Tables.Add(Child);

            DataColumn Col = new DataColumn("Name");
            DataColumn Col2 = new DataColumn("ChildName");
            Mom.Columns.Add(Col);
            Mom.Columns.Add(Col2);

            DataColumn Col3 = new DataColumn("Name");
            DataColumn Col4 = new DataColumn("Age");
            Col4.DataType = typeof(short);
            Child.Columns.Add(Col3);
            Child.Columns.Add(Col4);

            DataRelation Relation = new DataRelation("Rel", Mom.Columns[1], Child.Columns[0]);
            Set.Relations.Add(Relation);

            DataRow Row = Mom.NewRow();
            Row[0] = "Laura";
            Row[1] = "Nick";
            Mom.Rows.Add(Row);

            Row = Mom.NewRow();
            Row[0] = "Laura";
            Row[1] = "Dick";
            Mom.Rows.Add(Row);

            Row = Mom.NewRow();
            Row[0] = "Laura";
            Row[1] = "Mick";
            Mom.Rows.Add(Row);

            Row = Mom.NewRow();
            Row[0] = "Teresa";
            Row[1] = "Jack";
            Mom.Rows.Add(Row);

            Row = Mom.NewRow();
            Row[0] = "Teresa";
            Row[1] = "Mack";
            Mom.Rows.Add(Row);

            Row = Mom.NewRow();
            Row[0] = "'Jhon O'' Collenal'";
            Row[1] = "Pack";
            Mom.Rows.Add(Row);

            Row = Child.NewRow();
            Row[0] = "Nick";
            Row[1] = 15;
            Child.Rows.Add(Row);

            Row = Child.NewRow();
            Row[0] = "Dick";
            Row[1] = 25;
            Child.Rows.Add(Row);

            Row = Child.NewRow();
            Row[0] = "Mick";
            Row[1] = 35;
            Child.Rows.Add(Row);

            Row = Child.NewRow();
            Row[0] = "Jack";
            Row[1] = 10;
            Child.Rows.Add(Row);

            Row = Child.NewRow();
            Row[0] = "Mack";
            Row[1] = 19;
            Child.Rows.Add(Row);

            Row = Child.NewRow();
            Row[0] = "Mack";
            Row[1] = 99;
            Child.Rows.Add(Row);

            Row = Child.NewRow();
            Row[0] = "Pack";
            Row[1] = 66;
            Child.Rows.Add(Row);

            DataRow[] Rows = Mom.Select("Name = 'Teresa'");
            Assert.Equal(2, Rows.Length);

            // test with apos escaped
            Rows = Mom.Select("Name = '''Jhon O'''' Collenal'''");
            Assert.Equal(1, Rows.Length);

            Rows = Mom.Select("Name = 'Teresa' and ChildName = 'Nick'");
            Assert.Equal(0, Rows.Length);

            Rows = Mom.Select("Name = 'Teresa' and ChildName = 'Jack'");
            Assert.Equal(1, Rows.Length);

            Rows = Mom.Select("Name = 'Teresa' and ChildName <> 'Jack'");
            Assert.Equal("Mack", Rows[0][1]);

            Rows = Mom.Select("Name = 'Teresa' or ChildName <> 'Jack'");
            Assert.Equal(6, Rows.Length);

            Rows = Child.Select("age = 20 - 1");
            Assert.Equal(1, Rows.Length);

            Rows = Child.Select("age <= 20");
            Assert.Equal(3, Rows.Length);

            Rows = Child.Select("age >= 20");
            Assert.Equal(4, Rows.Length);

            Rows = Child.Select("age >= 20 and name = 'Mack' or name = 'Nick'");
            Assert.Equal(2, Rows.Length);

            Rows = Child.Select("age >= 20 and (name = 'Mack' or name = 'Nick')");
            Assert.Equal(1, Rows.Length);
            Assert.Equal("Mack", Rows[0][0]);

            Rows = Child.Select("not (Name = 'Jack')");
            Assert.Equal(6, Rows.Length);
        }
DataTableTest