Chris@0: shouldHaveType('SebastianBergmann\Comparator\ObjectComparator'); Chris@0: } Chris@0: Chris@0: function it_accepts_only_prophecy_objects() Chris@0: { Chris@0: $this->accepts(123, 321)->shouldReturn(false); Chris@0: $this->accepts('string', 'string')->shouldReturn(false); Chris@0: $this->accepts(false, true)->shouldReturn(false); Chris@0: $this->accepts(true, false)->shouldReturn(false); Chris@0: $this->accepts((object)array(), (object)array())->shouldReturn(false); Chris@0: $this->accepts(function(){}, (object)array())->shouldReturn(false); Chris@0: $this->accepts(function(){}, function(){})->shouldReturn(false); Chris@0: Chris@0: $prophet = new Prophet(); Chris@0: $prophecy = $prophet->prophesize('Prophecy\Prophecy\ObjectProphecy'); Chris@0: Chris@0: $this->accepts($prophecy, $prophecy)->shouldReturn(true); Chris@0: } Chris@0: Chris@0: function it_asserts_that_an_object_is_equal_to_its_revealed_prophecy() Chris@0: { Chris@0: $prophet = new Prophet(); Chris@0: $prophecy = $prophet->prophesize('Prophecy\Prophecy\ObjectProphecy'); Chris@0: Chris@0: $this->shouldNotThrow()->duringAssertEquals($prophecy->reveal(), $prophecy); Chris@0: } Chris@0: }