class ExactValueTokenSpec in Zircon Profile 8.0
Same name and namespace in other branches
- 8 vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ExactValueTokenSpec.php \spec\Prophecy\Argument\Token\ExactValueTokenSpec
Hierarchy
- class \spec\Prophecy\Argument\Token\ExactValueTokenSpec extends \PhpSpec\ObjectBehavior
Expanded class hierarchy of ExactValueTokenSpec
File
- vendor/
phpspec/ prophecy/ spec/ Prophecy/ Argument/ Token/ ExactValueTokenSpec.php, line 7
Namespace
spec\Prophecy\Argument\TokenView source
class ExactValueTokenSpec extends ObjectBehavior {
function let() {
$this
->beConstructedWith(42);
}
function it_implements_TokenInterface() {
$this
->shouldBeAnInstanceOf('Prophecy\\Argument\\Token\\TokenInterface');
}
function it_is_not_last() {
$this
->shouldNotBeLast();
}
function it_holds_value() {
$this
->getValue()
->shouldReturn(42);
}
function it_scores_10_if_value_is_equal_to_argument() {
$this
->scoreArgument(42)
->shouldReturn(10);
$this
->scoreArgument('42')
->shouldReturn(10);
}
function it_scores_10_if_value_is_an_object_and_equal_to_argument() {
$value = new \DateTime();
$value2 = clone $value;
$this
->beConstructedWith($value);
$this
->scoreArgument($value2)
->shouldReturn(10);
}
function it_does_not_scores_if_value_is_not_equal_to_argument() {
$this
->scoreArgument(50)
->shouldReturn(false);
$this
->scoreArgument(new \stdClass())
->shouldReturn(false);
}
function it_does_not_scores_if_value_an_object_and_is_not_equal_to_argument() {
$value = new ExactValueTokenFixtureB('ABC');
$value2 = new ExactValueTokenFixtureB('CBA');
$this
->beConstructedWith($value);
$this
->scoreArgument($value2)
->shouldReturn(false);
}
function it_does_not_scores_if_value_type_and_is_not_equal_to_argument() {
$this
->beConstructedWith(false);
$this
->scoreArgument(0)
->shouldReturn(false);
}
function it_generates_proper_string_representation_for_integer() {
$this
->beConstructedWith(42);
$this
->__toString()
->shouldReturn('exact(42)');
}
function it_generates_proper_string_representation_for_string() {
$this
->beConstructedWith('some string');
$this
->__toString()
->shouldReturn('exact("some string")');
}
function it_generates_single_line_representation_for_multiline_string() {
$this
->beConstructedWith("some\nstring");
$this
->__toString()
->shouldReturn('exact("some\\nstring")');
}
function it_generates_proper_string_representation_for_double() {
$this
->beConstructedWith(42.3);
$this
->__toString()
->shouldReturn('exact(42.3)');
}
function it_generates_proper_string_representation_for_boolean_true() {
$this
->beConstructedWith(true);
$this
->__toString()
->shouldReturn('exact(true)');
}
function it_generates_proper_string_representation_for_boolean_false() {
$this
->beConstructedWith(false);
$this
->__toString()
->shouldReturn('exact(false)');
}
function it_generates_proper_string_representation_for_null() {
$this
->beConstructedWith(null);
$this
->__toString()
->shouldReturn('exact(null)');
}
function it_generates_proper_string_representation_for_empty_array() {
$this
->beConstructedWith(array());
$this
->__toString()
->shouldReturn('exact([])');
}
function it_generates_proper_string_representation_for_array() {
$this
->beConstructedWith(array(
'zet',
42,
));
$this
->__toString()
->shouldReturn('exact(["zet", 42])');
}
function it_generates_proper_string_representation_for_resource() {
$resource = fopen(__FILE__, 'r');
$this
->beConstructedWith($resource);
$this
->__toString()
->shouldReturn('exact(stream:' . $resource . ')');
}
/**
* @param \stdClass $object
*/
function it_generates_proper_string_representation_for_object($object) {
$objHash = sprintf('%s:%s', get_class($object
->getWrappedObject()), spl_object_hash($object
->getWrappedObject()));
$this
->beConstructedWith($object);
$this
->__toString()
->shouldReturn("exact({$objHash} Object (\n 'objectProphecy' => Prophecy\\Prophecy\\ObjectProphecy Object (*Prophecy*)\n))");
}
}