CacheBasicTest::getStoreData PHP Method

getStoreData() private method

private getStoreData ( CacheAbstract $cache )
$cache Cachearium\CacheAbstract
    private function getStoreData(CacheAbstract $cache)
    {
        $base = 'base';
        $this->assertTrue($cache->isEnabled());
        $cache->setDefaultLifetime(3600);
        $this->assertEquals(3600, $cache->getDefaultLifetime());
        // clean
        $key1 = new CacheKey($base, 1);
        $cache->clean($key1);
        // nothing there
        try {
            $data = $cache->get($key1);
            $this->fail();
        } catch (Cachearium\Exceptions\NotCachedException $e) {
            $this->assertTrue(true);
        }
        // store
        $cd = new CacheData($key1, 234);
        $retval = $cache->storeData($cd);
        $this->assertTrue($retval);
        // get
        try {
            $data = $cache->getData($key1);
            $this->assertInstanceOf('Cachearium\\CacheData', $data);
            $this->assertEquals(234, $data->getFirstData());
        } catch (Cachearium\Exceptions\NotCachedException $e) {
            $this->fail();
        }
        // ivalid
        try {
            $data2 = $cache->getDataP("some", "random", "stuff");
            $this->fail();
        } catch (Cachearium\Exceptions\NotCachedException $e) {
            $this->assertTrue(true);
        }
        sleep(1);
        try {
            $data = $cache->getData($key1);
            $this->assertInstanceOf('Cachearium\\CacheData', $data);
            $this->assertEquals(234, $data->getFirstData());
        } catch (Cachearium\Exceptions\NotCachedException $e) {
            $this->fail();
        }
        // clean
        $cache->clean($key1);
        try {
            $data = $cache->getData($key1);
            $this->fail();
        } catch (Cachearium\Exceptions\NotCachedException $e) {
            $this->assertTrue(true);
        }
        // check conflicts
        $key2 = new CacheKey($base, 2, 'a');
        $key3 = new CacheKey($base, 3, 'a');
        // now change again and delete
        $retval = $cache->storeData(new CacheData($key2, 234));
        $this->assertEquals(true, $retval);
        try {
            $data = $cache->getData($key2);
            $this->assertInstanceOf('Cachearium\\CacheData', $data);
            $this->assertEquals(234, $data->getFirstData());
        } catch (Cachearium\Exceptions\NotCachedException $e) {
            $this->fail();
        }
        $this->assertTrue($cache->delete($key2));
        // test null
        $retval = $cache->storeData(new CacheData($key3), null);
        $this->assertEquals(true, $retval);
        try {
            $data = $cache->getData($key3);
            $this->assertInstanceOf('Cachearium\\CacheData', $data);
            $this->assertEquals(null, $data->getFirstData());
        } catch (Cachearium\Exceptions\NotCachedException $e) {
            $this->fail();
        }
        $this->assertTrue($cache->delete($key3));
    }