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}); }