<?php
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'reliq' . DIRECTORY_SEPARATOR . 'autoload.php';
class TableTest extends PHPUnit_Framework_TestCase { /** * @var Table */ protected $table;
/** * Sets up the fixture, for example, opens a network connections. * This method is called before a test is executed. */ protected function setUp() { $this->table = new \Reliq\Table('test', array( 'driver' => 'mysql', 'columns' => array( 'name', 'email', 'password' ) )); }
/** * @expectedException Reliq\Exceptions\NoSqlDriverException */ public function testNoAdapterException() { new \Reliq\Table('name', array()); }
/** * @expectedException Reliq\Exceptions\NoColumnException */ public function testNoColumnException() { $this->table->non_existing_column; }
public function testDeleteManager() { $this->assertEquals('Reliq\Managers\DeleteManager', get_class($this->table->delete())); }
public function testUpdateManager() { $this->assertEquals('Reliq\Managers\UpdateManager', get_class($this->table->update())); }
public function testInsertManager() { $this->assertEquals('Reliq\Managers\InsertManager', get_class($this->table->insert())); }
public function testExistingColumn() { $c = $this->table->email; $this->assertEquals('Reliq\Nodes\QuotedNode', get_class($c)); }
public function testChaining() { $node = $this->table->email->eq('test')->and_x ($this->table->name->eq('test@test'));
$this->assertEquals('test@test', $node->right()->right ()->value()); }
public function testCount() { $node = $this->table->email->count(); $this->assertEquals('test.email', $node->right()->value()); }
public function testCountChain() { $node = $this->table->email->count()->eq('test'); $this->assertEquals('test', $node->right()->value()); }
public function testMax() { $node = $this->table->email->max(); $this->assertEquals('test.email', $node->right()->value()); }
public function testMin() { $node = $this->table->email->min(); $this->assertEquals('test.email', $node->right()->value()); }
public function testSum() { $node = $this->table->email->sum(); $this->assertEquals('test.email', $node->right()->value()); }
public function testAvg() { $node = $this->table->email->avg(); $this->assertEquals('test.email', $node->right()->value()); }
public function testWhere() { $manager = $this->table->where($this->table->name->eq('hello')); $this->assertEquals('Reliq\Managers\SelectManager', get_class($manager)); }
public function testProjections() { $manager = $this->table->projections('*'); $this->assertEquals('Reliq\Managers\SelectManager', get_class($manager)); }
public function testAlias() { $table2 = $this->table->alias('test2'); $this->assertEquals('test2', $table2->get_name()); $name = $table2->get_table(); $this->assertEquals('test', $name[0]); $this->assertEquals('test2', $name[1]); }
public function testAll() { $node = $this->table->all(); $this->assertEquals('Reliq\Nodes\QuotedNode', get_class($node)); }
}
?>
|