banker/tests/Driver/DriverTestBase.php

78 lines
1.5 KiB
PHP

<?php declare(strict_types=1);
/**
* Banker
*
* A Caching library implementing psr/cache
*
* PHP version 7.0
*
* @package Banker
* @author Timothy J. Warren <tim@timshomepage.net>
* @copyright 2016 Timothy J. Warren
* @license http://www.opensource.org/licenses/mit-license.html MIT License
* @version 1.0.0
* @link https://git.timshomepage.net/timw4mail/banker
*/
namespace Aviat\Banker\Tests\Driver;
use PHPUnit\Framework\TestCase;
class DriverTestBase extends TestCase {
protected $driver;
public function tearDown()
{
$this->driver->__destruct();
}
public function testGetSet()
{
$this->driver->set('foo', 'bar');
$this->assertEquals('bar', $this->driver->get('foo'));
$bar = [
'foo' => [
'apple' => 'orange'
],
'bar' => 'baz'
];
$this->driver->set('bar', $bar);
$this->assertEquals($bar, $this->driver->get('bar'));
}
public function testGetMultiple()
{
$this->driver->set('foo', ['bar']);
$this->driver->set('bar', (object) [
'foo' => [
'bar' => 'baz'
]
]);
// Intentionally set the same key with different values
$this->driver->set('baz', 34);
$this->driver->set('baz', 42);
$expected = [
'foo' => ['bar'],
'bar' => (object) [
'foo' => [
'bar' => 'baz'
]
],
];
$actual = $this->driver->getMultiple(['foo', 'bar']);
$this->assertEquals($expected, $actual);
}
public function testSetWithExpires()
{
$this->driver->set('foo', 'bar', 30);
$this->assertEquals('bar', $this->driver->get('foo'));
}
}