Tests the get and set methods of Drupal\Core\Cache\CacheBackendInterface.
public function testSetGet() {
$backend = $this
->getCacheBackend();
$this
->assertIdentical(FALSE, $backend
->get('test1'), "Backend does not contain data for cache id test1.");
$backend
->set('test1', 7);
$cached = $backend
->get('test1');
$this
->assert(is_object($cached), "Backend returned an object for cache id test1.");
$this
->assertIdentical(7, $cached->data);
$this
->assertTrue($cached->valid, 'Item is marked as valid.');
$this
->assertEqual($cached->created, REQUEST_TIME, 'Created time is correct.');
$this
->assertEqual($cached->expire, CacheBackendInterface::CACHE_PERMANENT, 'Expire time is correct.');
$this
->assertIdentical(FALSE, $backend
->get('test2'), "Backend does not contain data for cache id test2.");
$backend
->set('test2', array(
'value' => 3,
), REQUEST_TIME + 3);
$cached = $backend
->get('test2');
$this
->assert(is_object($cached), "Backend returned an object for cache id test2.");
$this
->assertIdentical(array(
'value' => 3,
), $cached->data);
$this
->assertTrue($cached->valid, 'Item is marked as valid.');
$this
->assertEqual($cached->created, REQUEST_TIME, 'Created time is correct.');
$this
->assertEqual($cached->expire, REQUEST_TIME + 3, 'Expire time is correct.');
$backend
->set('test3', 'foobar', REQUEST_TIME - 3);
$this
->assertFalse($backend
->get('test3'), 'Invalid item not returned.');
$cached = $backend
->get('test3', TRUE);
$this
->assert(is_object($cached), 'Backend returned an object for cache id test3.');
$this
->assertFalse($cached->valid, 'Item is marked as valid.');
$this
->assertEqual($cached->created, REQUEST_TIME, 'Created time is correct.');
$this
->assertEqual($cached->expire, REQUEST_TIME - 3, 'Expire time is correct.');
}