protected function setUp() {
$this->conn = new \pq\Connection(PQ_TEST_DSN);
- $this->conn->exec(PQ_TEST_TABLE_CREATE);
- $this->conn->exec(PQ_TEST_REFTABLE_CREATE);
- $this->conn->exec(PQ_TEST_DATA);
+ $this->conn->exec(PQ_TEST_SETUP_SQL);
Table::$defaultConnection = $this->conn;
$this->table = new Table("test");
+ $this->table->getQueryExecutor()->attach(new \QueryLogger());
}
protected function tearDown() {
- $this->conn->exec(PQ_TEST_REFTABLE_DROP);
- $this->conn->exec(PQ_TEST_TABLE_DROP);
+ $this->conn->exec(PQ_TEST_TEARDOWN_SQL);
}
public function test__invoke() {
}
public function testCreateFail() {
- $this->setExpectedException("\\pq\\Exception");
+ $this->setExpectedException("\\OutOfBoundsException");
$rowset = new Rowset($this->table);
$rowset->append(new Row($this->table, array("foo" => "bar"), true));
$rowset->create();
}
public function testDeleteFail() {
- $this->setExpectedException("pq\\Exception");
+ $this->setExpectedException("Exception");
$rowset = new Rowset($this->table);
$rowset->append(new Row($this->table, array("xx" => 0)))->delete();
}
public function testJsonSerialize() {
- $json = sprintf('[{"id":"1","created":"%s","counter":"-1","number":"-1.1","data":"yesterday"}'
- .',{"id":"2","created":"%s","counter":"0","number":"0","data":"today"}'
- .',{"id":"3","created":"%s","counter":"1","number":"1.1","data":"tomorrow"}]',
- date("Y-m-d H:i:s", strtotime("yesterday")),
- date("Y-m-d H:i:s", strtotime("today")),
- date("Y-m-d H:i:s", strtotime("tomorrow"))
+ $json = sprintf('[{"id":"1","created":"%s","counter":"-1","number":"-1.1","data":"yesterday","list":[-1,0,1],"prop":null}'
+ .',{"id":"2","created":"%s","counter":"0","number":"0","data":"today","list":[0,1,2],"prop":null}'
+ .',{"id":"3","created":"%s","counter":"1","number":"1.1","data":"tomorrow","list":[1,2,3],"prop":null}]',
+ new \pq\DateTime("yesterday"),
+ new \pq\DateTime("today"),
+ new \pq\DateTime("tomorrow")
);
$this->assertJsonStringEqualsJsonString($json, json_encode($this->table->find()));
}
$this->assertSame(array(), $rowset3->getRows());
$this->assertCount(1, $rowset->filter(function($row) { return $row->id->get() == 1; }));
}
+
+ public function testApplyAppend() {
+ $rowset1 = $this->table->find(null, null, 1);
+ $rowset2 = $this->table->find(null, null, 1, 1);
+ $this->assertCount(1, $rowset1);
+ $this->assertCount(1, $rowset2);
+ $rowset2->apply(array($rowset1, "append"));
+ $this->assertCount(1, $rowset2);
+ $this->assertCount(2, $rowset1);
+ }
}