/** * @test * @dataProvider rawQueryDataProvider * @param string $query * @param int $resultCount */ public function testRawQuery($query, $resultCount) { $pdo = $this->getPDO(); $this->createTestTable($pdo); $storage = new SqlStorage($pdo, 'test'); $model = new ModelFixture(); $model->foo = 'test'; $model->bar = 'bar'; $storage->persist($model); $model2 = new ModelFixture(); $model2->foo = 'test2'; $model2->bar = 'foo'; $storage->persist($model2); $model3 = new ModelFixture(); $model3->foo = 'bar'; $model3->bar = 'foo'; $storage->persist($model3); $result = $storage->find(new RawSqlQuery($query), $model); $this->assertCount($resultCount, $result); }
/** * @test */ public function find_Performance() { $pdo = $this->getPDO(); $this->createTestTable($pdo); $storage = new SqlStorage($pdo, 'test'); $count = 10000; $countIterator = $count; while ($countIterator) { $model1 = new ModelFixture(); $model1->foo = md5(microtime(true)); $model1->bar = rand(0, $count); $storage->persist($model1); $countIterator--; } $model = new ModelFixture(); $query = new Query(); $start = microtime(true); $modelList = $storage->find($query, $model); $this->assertLessThanOrEqual(0.5, microtime(true) - $start); $this->assertEquals($count, $modelList->count()); }