|                                                                                 |  | <?phpclass CacheTest extends PHPUnit_Framework_TestCase {
  public function testCreateFromConfig() {    p3k\Cache::redis('tcp://127.0.0.1:6379');    p3k\Cache::set('foo', 'bar');    $this->assertEquals('bar', p3k\Cache::get('foo'));    p3k\Cache::reset();  }
  public function testAutoCreate() {    p3k\Cache::set('foo', 'bar');    $this->assertEquals('bar', p3k\Cache::get('foo'));    p3k\Cache::reset();  }
  public function testSet() {    p3k\Cache::set('foo', 'bar', 0);    $this->assertEquals('bar', p3k\Cache::get('foo'));    $redis = p3k\Cache::redis();    $this->assertEquals(-1, $redis->ttl('foo'));  }
  public function testSetEx() {    p3k\Cache::set('foo', 'bar', 600);    $this->assertEquals('bar', p3k\Cache::get('foo'));    $redis = p3k\Cache::redis();    $this->assertGreaterThan(500, $redis->ttl('foo'));  }
  public function testGetExpired() {    p3k\Cache::set('foo', 'bar', 1);    usleep(1100000);    $this->assertEquals('default', p3k\Cache::get('foo', 'default'));  }
  public function testDelete() {    p3k\Cache::set('foo', 'bar', 600);    $this->assertEquals('bar', p3k\Cache::get('foo'));    p3k\Cache::delete('foo');    $this->assertEquals('default', p3k\Cache::get('foo', 'default'));  }
  public function testExpire() {    p3k\Cache::set('foo', 'bar', 600);    $this->assertEquals('bar', p3k\Cache::get('foo'));    p3k\Cache::expire('foo');    $this->assertEquals('default', p3k\Cache::get('foo', 'default'));
    p3k\Cache::set('foo', 'bar', 600);    $this->assertEquals('bar', p3k\Cache::get('foo'));    p3k\Cache::expire('foo', 1);    usleep(1100000);    $this->assertEquals('default', p3k\Cache::get('foo', 'default'));  }
  public function testIncr() {    p3k\Cache::delete('test1');    p3k\Cache::incr('test1');    $this->assertEquals(1, p3k\Cache::get('test1'));
    p3k\Cache::set('test2', 10);    p3k\Cache::incr('test2');    $this->assertEquals(11, p3k\Cache::get('test2'));
    p3k\Cache::set('test3', 10);    p3k\Cache::incr('test3', 4);    $this->assertEquals(14, p3k\Cache::get('test3'));  }
  public function testDecr() {    p3k\Cache::delete('test4');    p3k\Cache::decr('test4');    $this->assertEquals(-1, p3k\Cache::get('test4'));
    p3k\Cache::set('test5', 10);    p3k\Cache::decr('test5');    $this->assertEquals(9, p3k\Cache::get('test5'));
    p3k\Cache::set('test6', 10);    p3k\Cache::decr('test6', 4);    $this->assertEquals(6, p3k\Cache::get('test6'));  }
}
 |