Chris@0: beConstructedWith(42); Chris@0: } Chris@0: Chris@0: function it_is_initializable() Chris@0: { Chris@0: $this->shouldHaveType('Prophecy\Argument\Token\IdenticalValueToken'); Chris@0: } Chris@0: Chris@0: function it_scores_11_if_string_value_is_identical_to_argument() Chris@0: { Chris@0: $this->beConstructedWith('foo'); Chris@0: $this->scoreArgument('foo')->shouldReturn(11); Chris@0: } Chris@0: Chris@0: function it_scores_11_if_boolean_value_is_identical_to_argument() Chris@0: { Chris@0: $this->beConstructedWith(false); Chris@0: $this->scoreArgument(false)->shouldReturn(11); Chris@0: } Chris@0: Chris@0: function it_scores_11_if_integer_value_is_identical_to_argument() Chris@0: { Chris@0: $this->beConstructedWith(31); Chris@0: $this->scoreArgument(31)->shouldReturn(11); Chris@0: } Chris@0: Chris@0: function it_scores_11_if_float_value_is_identical_to_argument() Chris@0: { Chris@0: $this->beConstructedWith(31.12); Chris@0: $this->scoreArgument(31.12)->shouldReturn(11); Chris@0: } Chris@0: Chris@0: function it_scores_11_if_array_value_is_identical_to_argument() Chris@0: { Chris@0: $this->beConstructedWith(array('foo' => 'bar')); Chris@0: $this->scoreArgument(array('foo' => 'bar'))->shouldReturn(11); Chris@0: } Chris@0: Chris@0: function it_scores_11_if_object_value_is_identical_to_argument() Chris@0: { Chris@0: $object = new \stdClass(); Chris@0: Chris@0: $this->beConstructedWith($object); Chris@0: $this->scoreArgument($object)->shouldReturn(11); Chris@0: } Chris@0: Chris@0: function it_scores_false_if_value_is_not_identical_to_argument() Chris@0: { Chris@0: $this->beConstructedWith(new \stdClass()); Chris@0: $this->scoreArgument('foo')->shouldReturn(false); Chris@0: } Chris@0: Chris@0: function it_scores_false_if_object_value_is_not_the_same_instance_than_argument() Chris@0: { Chris@0: $this->beConstructedWith(new \stdClass()); Chris@0: $this->scoreArgument(new \stdClass())->shouldReturn(false); Chris@0: } Chris@0: Chris@0: function it_scores_false_if_integer_value_is_not_identical_to_boolean_argument() Chris@0: { Chris@0: $this->beConstructedWith(1); Chris@0: $this->scoreArgument(true)->shouldReturn(false); Chris@0: } Chris@0: Chris@0: function it_is_not_last() Chris@0: { Chris@0: $this->shouldNotBeLast(); Chris@0: } Chris@0: Chris@0: function it_generates_proper_string_representation_for_integer() Chris@0: { Chris@0: $this->beConstructedWith(42); Chris@0: $this->__toString()->shouldReturn('identical(42)'); Chris@0: } Chris@0: Chris@0: function it_generates_proper_string_representation_for_string() Chris@0: { Chris@0: $this->beConstructedWith('some string'); Chris@0: $this->__toString()->shouldReturn('identical("some string")'); Chris@0: } Chris@0: Chris@0: function it_generates_single_line_representation_for_multiline_string() Chris@0: { Chris@0: $this->beConstructedWith("some\nstring"); Chris@0: $this->__toString()->shouldReturn('identical("some\\nstring")'); Chris@0: } Chris@0: Chris@0: function it_generates_proper_string_representation_for_double() Chris@0: { Chris@0: $this->beConstructedWith(42.3); Chris@0: $this->__toString()->shouldReturn('identical(42.3)'); Chris@0: } Chris@0: Chris@0: function it_generates_proper_string_representation_for_boolean_true() Chris@0: { Chris@0: $this->beConstructedWith(true); Chris@0: $this->__toString()->shouldReturn('identical(true)'); Chris@0: } Chris@0: Chris@0: function it_generates_proper_string_representation_for_boolean_false() Chris@0: { Chris@0: $this->beConstructedWith(false); Chris@0: $this->__toString()->shouldReturn('identical(false)'); Chris@0: } Chris@0: Chris@0: function it_generates_proper_string_representation_for_null() Chris@0: { Chris@0: $this->beConstructedWith(null); Chris@0: $this->__toString()->shouldReturn('identical(null)'); Chris@0: } Chris@0: Chris@0: function it_generates_proper_string_representation_for_empty_array() Chris@0: { Chris@0: $this->beConstructedWith(array()); Chris@0: $this->__toString()->shouldReturn('identical([])'); Chris@0: } Chris@0: Chris@0: function it_generates_proper_string_representation_for_array() Chris@0: { Chris@0: $this->beConstructedWith(array('zet', 42)); Chris@0: $this->__toString()->shouldReturn('identical(["zet", 42])'); Chris@0: } Chris@0: Chris@0: function it_generates_proper_string_representation_for_resource() Chris@0: { Chris@0: $resource = fopen(__FILE__, 'r'); Chris@0: $this->beConstructedWith($resource); Chris@0: $this->__toString()->shouldReturn('identical(stream:'.$resource.')'); Chris@0: } Chris@0: Chris@0: function it_generates_proper_string_representation_for_object($object) Chris@0: { Chris@0: $objHash = sprintf('%s:%s', Chris@0: get_class($object->getWrappedObject()), Chris@0: spl_object_hash($object->getWrappedObject()) Chris@0: ); Chris@0: Chris@0: $this->beConstructedWith($object); Chris@0: $this->__toString()->shouldReturn("identical($objHash Object (\n 'objectProphecy' => Prophecy\Prophecy\ObjectProphecy Object (*Prophecy*)\n))"); Chris@0: } Chris@0: }