コード例 #1
0
 function testFiltersWithGroupedGroup()
 {
     $filterGroup1 = new \Rhubarb\Stem\Filters\Group("And");
     $filterGroup1->addFilters(new \Rhubarb\Stem\Filters\Contains("Forename", "Jo", true), new \Rhubarb\Stem\Filters\Contains("Surname", "Jo", true));
     $filterGroup2 = new \Rhubarb\Stem\Filters\Group("Or");
     $filterGroup2->addFilters(new \Rhubarb\Stem\Filters\Contains("Surname", "Luc", true), new \Rhubarb\Stem\Filters\LessThan("DateOfBirth", "1980-01-01", true));
     $filterGroup = new \Rhubarb\Stem\Filters\Group("Or");
     $filterGroup->addFilters($filterGroup1, $filterGroup2);
     $this->list->Not($filterGroup);
     $this->assertCount(1, $this->list);
     $this->assertContains("Smithe", $this->list[0]->Surname);
 }
コード例 #2
0
ファイル: NotTest.php プロジェクト: samnotsowise/Module.Stem
 function testXOR()
 {
     $filterOne = new \Rhubarb\Stem\Filters\Contains("Forename", "Jo", true);
     $filterTwo = new \Rhubarb\Stem\Filters\Contains("Surname", "Jo", true);
     $filterAnd = new \Rhubarb\Stem\Filters\Group("And");
     $filterAnd->addFilters($filterOne, $filterTwo);
     $filterOr = new \Rhubarb\Stem\Filters\Group("Or");
     $filterOr->addFilters($filterOne, $filterTwo);
     $filterNotAnd = new \Rhubarb\Stem\Filters\Not($filterAnd);
     $filterXor = new \Rhubarb\Stem\Filters\Group("And");
     $filterXor->addFilters($filterNotAnd, $filterOr);
     $this->list->filter($filterXor);
     $this->assertCount(2, $this->list);
     $this->assertContains("Luc", $this->list[0]->Surname);
 }