void ResourceManagerTest::clear() { ResourceManager rm; rm.set("blah", new Data); CORRADE_COMPARE(Data::count, 1); rm.free(); CORRADE_COMPARE(Data::count, 1); rm.clear(); CORRADE_COMPARE(Data::count, 0); }
void ResourceManagerTest::clearWhileReferenced() { /* Should cover also the destruction case */ std::ostringstream out; Error::setOutput(&out); ResourceManager rm; rm.set("blah", Int()); /** @todo this will leak, is there any better solution without hitting assertion in decrementReferenceCount()? */ new Resource<Int>(rm.get<Int>("blah")); rm.clear(); CORRADE_COMPARE(out.str(), "ResourceManager: cleared/destroyed while data are still referenced\n"); }