public function testSet()
{
$item = new CacheItem('test_key');
$ref = new \ReflectionObject($item);
$valueProp = $ref->getProperty('value');
$valueProp->setAccessible(true);
$hasValueProp = $ref->getProperty('hasValue');
$hasValueProp->setAccessible(true);
$this->assertEquals(null, $valueProp->getValue($item));
$this->assertFalse($hasValueProp->getValue($item));
$item->set('value');
$this->assertEquals('value', $valueProp->getValue($item));
$this->assertTrue($hasValueProp->getValue($item));
}