Files
predis/tests/Predis/Option/AbstractOptionTest.php
T
Daniele Alessandri a9b42924e5 [tests] Improve the basic framework of our test suite.
We now have a base test case class for Predis (namely PredisTestCase)
grouping various commonly used utility methods shared by all of the
tests in the suite, greatly improving reusability.

NOTE: Backported from v0.9-dev.
2013-12-01 15:19:51 +01:00

80 lines
2.2 KiB
PHP

<?php
/*
* This file is part of the Predis package.
*
* (c) Daniele Alessandri <suppakilla@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Predis\Option;
use PredisTestCase;
/**
*
*/
class AbstractOptionTest extends PredisTestCase
{
/**
* @group disconnected
*/
public function testValidationReturnsTheSameObject()
{
$value = new \stdClass();
$options = $this->getMock('Predis\Option\ClientOptionsInterface');
$option = $this->getMockForAbstractClass('Predis\Option\AbstractOption');
$this->assertSame($value, $option->filter($options, $value));
}
/**
* @group disconnected
*/
public function testDefaultReturnsNull()
{
$options = $this->getMock('Predis\Option\ClientOptionsInterface');
$option = $this->getMockForAbstractClass('Predis\Option\AbstractOption');
$this->assertNull($option->getDefault($options));
}
/**
* @group disconnected
*/
public function testInvokePerformsValidationWhenValueIsSet()
{
$value = new \stdClass();
$options = $this->getMock('Predis\Option\ClientOptionsInterface');
$option = $this->getMock('Predis\Option\AbstractOption', array('filter', 'getDefault'));
$option->expects($this->once())
->method('filter')
->with($options, $value)
->will($this->returnValue($value));
$option->expects($this->never())->method('getDefault');
$this->assertSame($value, $option($options, $value));
}
/**
* @group disconnected
*/
public function testInvokeReturnsDefaultWhenValueIsNotSet()
{
$expected = new \stdClass();
$options = $this->getMock('Predis\Option\ClientOptionsInterface');
$option = $this->getMock('Predis\Option\AbstractOption', array('filter', 'getDefault'));
$option->expects($this->never())->method('filter');
$option->expects($this->once())
->method('getDefault')
->with($options)
->will($this->returnValue($expected));
$this->assertSame($expected, $option($options, null));
}
}