Browse Source

reduce randomness in test results

tags/2.0.0-beta
Carsten Brandt 11 years ago
parent
commit
c1febb74ff
  1. 45
      tests/unit/extensions/redis/ActiveRecordTest.php
  2. 18
      tests/unit/framework/ar/ActiveRecordTestTrait.php

45
tests/unit/extensions/redis/ActiveRecordTest.php

@ -148,6 +148,51 @@ class ActiveRecordTest extends RedisTestCase
$this->assertTrue($customers['3-user3'] instanceof $customerClass);
}
public function testFindLimit()
{
// TODO this test is duplicated because of missing orderBy support in redis
/** @var TestCase|ActiveRecordTestTrait $this */
// all()
$customers = $this->callCustomerFind()->all();
$this->assertEquals(3, count($customers));
$customers = $this->callCustomerFind()/*->orderBy('id')*/->limit(1)->all();
$this->assertEquals(1, count($customers));
$this->assertEquals('user1', $customers[0]->name);
$customers = $this->callCustomerFind()/*->orderBy('id')*/->limit(1)->offset(1)->all();
$this->assertEquals(1, count($customers));
$this->assertEquals('user2', $customers[0]->name);
$customers = $this->callCustomerFind()/*->orderBy('id')*/->limit(1)->offset(2)->all();
$this->assertEquals(1, count($customers));
$this->assertEquals('user3', $customers[0]->name);
$customers = $this->callCustomerFind()/*->orderBy('id')*/->limit(2)->offset(1)->all();
$this->assertEquals(2, count($customers));
$this->assertEquals('user2', $customers[0]->name);
$this->assertEquals('user3', $customers[1]->name);
$customers = $this->callCustomerFind()->limit(2)->offset(3)->all();
$this->assertEquals(0, count($customers));
// one()
$customer = $this->callCustomerFind()/*->orderBy('id')*/->one();
$this->assertEquals('user1', $customer->name);
$customer = $this->callCustomerFind()/*->orderBy('id')*/->offset(0)->one();
$this->assertEquals('user1', $customer->name);
$customer = $this->callCustomerFind()/*->orderBy('id')*/->offset(1)->one();
$this->assertEquals('user2', $customer->name);
$customer = $this->callCustomerFind()/*->orderBy('id')*/->offset(2)->one();
$this->assertEquals('user3', $customer->name);
$customer = $this->callCustomerFind()->offset(3)->one();
$this->assertNull($customer);
}
public function testFindEagerViaRelation()
{
/** @var TestCase|ActiveRecordTestTrait $this */

18
tests/unit/framework/ar/ActiveRecordTestTrait.php

@ -174,7 +174,7 @@ trait ActiveRecordTestTrait
public function testFindColumn()
{
/** @var TestCase|ActiveRecordTestTrait $this */
$this->assertEquals(['user1', 'user2', 'user3'], $this->callCustomerFind()->column('name'));
$this->assertEquals(['user1', 'user2', 'user3'], $this->callCustomerFind()->orderBy(['name' => SORT_ASC])->column('name'));
$this->assertEquals(['user3', 'user2', 'user1'], $this->callCustomerFind()->orderBy(['name' => SORT_DESC])->column('name'));
}
@ -255,19 +255,19 @@ trait ActiveRecordTestTrait
$customers = $this->callCustomerFind()->all();
$this->assertEquals(3, count($customers));
$customers = $this->callCustomerFind()->limit(1)->all();
$customers = $this->callCustomerFind()->orderBy('id')->limit(1)->all();
$this->assertEquals(1, count($customers));
$this->assertEquals('user1', $customers[0]->name);
$customers = $this->callCustomerFind()->limit(1)->offset(1)->all();
$customers = $this->callCustomerFind()->orderBy('id')->limit(1)->offset(1)->all();
$this->assertEquals(1, count($customers));
$this->assertEquals('user2', $customers[0]->name);
$customers = $this->callCustomerFind()->limit(1)->offset(2)->all();
$customers = $this->callCustomerFind()->orderBy('id')->limit(1)->offset(2)->all();
$this->assertEquals(1, count($customers));
$this->assertEquals('user3', $customers[0]->name);
$customers = $this->callCustomerFind()->limit(2)->offset(1)->all();
$customers = $this->callCustomerFind()->orderBy('id')->limit(2)->offset(1)->all();
$this->assertEquals(2, count($customers));
$this->assertEquals('user2', $customers[0]->name);
$this->assertEquals('user3', $customers[1]->name);
@ -276,16 +276,16 @@ trait ActiveRecordTestTrait
$this->assertEquals(0, count($customers));
// one()
$customer = $this->callCustomerFind()->one();
$customer = $this->callCustomerFind()->orderBy('id')->one();
$this->assertEquals('user1', $customer->name);
$customer = $this->callCustomerFind()->offset(0)->one();
$customer = $this->callCustomerFind()->orderBy('id')->offset(0)->one();
$this->assertEquals('user1', $customer->name);
$customer = $this->callCustomerFind()->offset(1)->one();
$customer = $this->callCustomerFind()->orderBy('id')->offset(1)->one();
$this->assertEquals('user2', $customer->name);
$customer = $this->callCustomerFind()->offset(2)->one();
$customer = $this->callCustomerFind()->orderBy('id')->offset(2)->one();
$this->assertEquals('user3', $customer->name);
$customer = $this->callCustomerFind()->offset(3)->one();

Loading…
Cancel
Save