public function testDependencies() { $cache = Cachearium\Backend\CacheRAM::singleton(); $ck1 = new CacheKey('recursion', 1, 'sub'); $ck2 = new CacheKey('recursion', 2, 'sub'); $ck3 = new CacheKey('recursion', 3, 'sub'); $cd1 = new CacheData($ck1, 'this'); $cd2 = new CacheData($ck2, 'is'); $cd3 = new CacheData($ck3, 'recursion'); $cd2->appendRecursionData($cd3); $cd1->appendRecursionData($cd2); $this->assertTrue($cache->storeData($cd3)); $this->assertTrue($cache->storeData($cd2)); $this->assertTrue($cache->storeData($cd1)); $this->assertNotFalse($cache->getData($ck1)); $this->assertNotFalse($cache->getData($ck2)); $this->assertNotFalse($cache->getData($ck3)); $this->assertEquals('thisisrecursion', $cd1->stringify($cache)); $cd2 = new CacheData($ck2, 'breaks'); $this->assertTrue($cache->storeData($cd2)); try { $cache->getData($ck1); $this->fail(); } catch (Cachearium\Exceptions\NotCachedException $e) { $this->assertTrue(true); } }