Exemplo n.º 1
0
 public function testGetByCoreField()
 {
     $field_key = 'name';
     // Cleanup
     Keyword::deleteAll();
     // Create posts
     for ($i = 65; $i <= 90; $i++) {
         $keyword = new Keyword();
         $keyword->{$field_key} = chr($i);
         $keyword->save();
     }
     // Verify instance
     $this->assertInstanceOf('Keyword', current(Keyword::getBy($field_key, 'B')));
     // Less than
     $keywords = Keyword::getBy($field_key, 'B', '<');
     $this->assertEquals(1, count($keywords));
     // Less than or equal to
     $keywords = Keyword::getBy($field_key, 'B', '<=');
     $this->assertEquals(2, count($keywords));
     // Equal to implicit
     $keywords = Keyword::getBy($field_key, 'B');
     $this->assertEquals(1, count($keywords));
     // Equal to explicit
     $keywords = Keyword::getBy($field_key, 'B', '=');
     $this->assertEquals(1, count($keywords));
     // Greater than
     $keywords = Keyword::getBy($field_key, 'B', '>');
     $this->assertEquals(24, count($keywords));
     // Greater than or equal to
     $keywords = Keyword::getBy($field_key, 'B', '>=');
     $this->assertEquals(25, count($keywords));
     // Limit
     $keywords = Keyword::getBy($field_key, 'B', '>', array('number' => 3));
     $this->assertEquals(3, count($keywords));
     // Order ASC
     $keywords = Keyword::getBy($field_key, 'B', '>', array('number' => 3, 'orderby' => $field_key, 'order' => 'ASC'));
     $this->assertEquals('C', current($keywords)->{$field_key});
     $this->assertEquals('E', end($keywords)->{$field_key});
     // Order DESC
     $keywords = Keyword::getBy($field_key, 'B', '>', array('number' => 3, 'orderby' => $field_key, 'order' => 'DESC'));
     $this->assertEquals('Z', current($keywords)->{$field_key});
     $this->assertEquals('X', end($keywords)->{$field_key});
 }