12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- namespace Hamcrest;
- class Thingy
- {
- private $_result;
- public function __construct($result)
- {
- $this->_result = $result;
- }
- public function getResult()
- {
- return $this->_result;
- }
- }
- /* Test-specific subclass only */
- class ResultMatcher extends \Hamcrest\FeatureMatcher
- {
- public function __construct()
- {
- parent::__construct(self::TYPE_ANY, null, equalTo('bar'), 'Thingy with result', 'result');
- }
- public function featureValueOf($actual)
- {
- if ($actual instanceof \Hamcrest\Thingy) {
- return $actual->getResult();
- }
- }
- }
- class FeatureMatcherTest extends \Hamcrest\AbstractMatcherTest
- {
- private $_resultMatcher;
- public function setUp()
- {
- $this->_resultMatcher = $this->_resultMatcher();
- }
- protected function createMatcher()
- {
- return $this->_resultMatcher();
- }
- public function testMatchesPartOfAnObject()
- {
- $this->assertMatches($this->_resultMatcher, new \Hamcrest\Thingy('bar'), 'feature');
- $this->assertDescription('Thingy with result "bar"', $this->_resultMatcher);
- }
- public function testMismatchesPartOfAnObject()
- {
- $this->assertMismatchDescription(
- 'result was "foo"',
- $this->_resultMatcher,
- new \Hamcrest\Thingy('foo')
- );
- }
- public function testDoesNotGenerateNoticesForNull()
- {
- $this->assertMismatchDescription('result was null', $this->_resultMatcher, null);
- }
- // -- Creation Methods
- private function _resultMatcher()
- {
- return new \Hamcrest\ResultMatcher();
- }
- }
|