public function testWhere()
{
$table = $this->object->table('users');
$query = array();
$query[] = $table->where('id', '=', 1)->findAll();
$query[] = $table->where('id', '!=', 4)->findAll();
$query[] = $table->where('name', '=', 'Kriss')->findAll();
$query[] = $table->where('name', '!=', 'Kriss')->findAll();
$query[] = $table->where('id', '>', 2)->findAll();
$query[] = $table->where('id', '<', 3)->findAll();
$query[] = $table->where('id', '>=', 2)->findAll();
$query[] = $table->where('id', '<=', 3)->findAll();
$query[] = $table->where('id', '<=', 3)->andWhere('id', '>', 1)->findAll();
$query[] = $table->where('id', 'IN', [1, 2])->findAll();
$query[] = $table->where('name', '=', 'Larry')->orWhere('name', '=', 'Kriss')->findAll();
$query[] = $table->where('name', 'LIKE', 'La%')->findAll();
$query[] = $table->where('name', 'LIKE', '%ss')->findAll();
$query[] = $table->where('name', 'LIKE', '%a%')->findAll();
foreach ($query[0] as $row) {
$this->assertEquals(1, $row->id);
}
foreach ($query[1] as $row) {
$this->assertNotEquals(4, $row->id);
}
foreach ($query[2] as $row) {
$this->assertEquals('Kriss', $row->name);
}
foreach ($query[3] as $row) {
$this->assertNotEquals('Kriss', $row->name);
}
foreach ($query[4] as $row) {
$this->assertGreaterThan(2, $row->id);
}
foreach ($query[5] as $row) {
$this->assertLessThan(3, $row->id);
}
foreach ($query[6] as $row) {
$this->assertGreaterThanOrEqual(2, $row->id);
}
foreach ($query[7] as $row) {
$this->assertLessThanOrEqual(3, $row->id);
}
foreach ($query[8] as $row) {
$this->assertContains($row->id, [2, 3]);
}
foreach ($query[9] as $row) {
$this->assertContains($row->id, [1, 2]);
}
foreach ($query[10] as $row) {
$this->assertContains($row->name, ['Larry', 'Kriss']);
}
foreach ($query[11] as $row) {
$this->assertSame('Larry', $row->name);
}
foreach ($query[12] as $row) {
$this->assertSame('Kriss', $row->name);
}
foreach ($query[13] as $row) {
$this->assertContains($row->name, ['Larry', 'Paul']);
}
}