123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <?php
- namespace Hamcrest;
- class UtilTest extends \PhpUnit_Framework_TestCase
- {
- public function testWrapValueWithIsEqualLeavesMatchersUntouched()
- {
- $matcher = new \Hamcrest\Text\MatchesPattern('/fo+/');
- $newMatcher = \Hamcrest\Util::wrapValueWithIsEqual($matcher);
- $this->assertSame($matcher, $newMatcher);
- }
- public function testWrapValueWithIsEqualWrapsPrimitive()
- {
- $matcher = \Hamcrest\Util::wrapValueWithIsEqual('foo');
- $this->assertInstanceOf('Hamcrest\Core\IsEqual', $matcher);
- $this->assertTrue($matcher->matches('foo'));
- }
- public function testCheckAllAreMatchersAcceptsMatchers()
- {
- \Hamcrest\Util::checkAllAreMatchers(array(
- new \Hamcrest\Text\MatchesPattern('/fo+/'),
- new \Hamcrest\Core\IsEqual('foo'),
- ));
- }
- /**
- * @expectedException InvalidArgumentException
- */
- public function testCheckAllAreMatchersFailsForPrimitive()
- {
- \Hamcrest\Util::checkAllAreMatchers(array(
- new \Hamcrest\Text\MatchesPattern('/fo+/'),
- 'foo',
- ));
- }
- private function callAndAssertCreateMatcherArray($items)
- {
- $matchers = \Hamcrest\Util::createMatcherArray($items);
- $this->assertInternalType('array', $matchers);
- $this->assertSameSize($items, $matchers);
- foreach ($matchers as $matcher) {
- $this->assertInstanceOf('\Hamcrest\Matcher', $matcher);
- }
- return $matchers;
- }
- public function testCreateMatcherArrayLeavesMatchersUntouched()
- {
- $matcher = new \Hamcrest\Text\MatchesPattern('/fo+/');
- $items = array($matcher);
- $matchers = $this->callAndAssertCreateMatcherArray($items);
- $this->assertSame($matcher, $matchers[0]);
- }
- public function testCreateMatcherArrayWrapsPrimitiveWithIsEqualMatcher()
- {
- $matchers = $this->callAndAssertCreateMatcherArray(array('foo'));
- $this->assertInstanceOf('Hamcrest\Core\IsEqual', $matchers[0]);
- $this->assertTrue($matchers[0]->matches('foo'));
- }
- public function testCreateMatcherArrayDoesntModifyOriginalArray()
- {
- $items = array('foo');
- $this->callAndAssertCreateMatcherArray($items);
- $this->assertSame('foo', $items[0]);
- }
- public function testCreateMatcherArrayUnwrapsSingleArrayElement()
- {
- $matchers = $this->callAndAssertCreateMatcherArray(array(array('foo')));
- $this->assertInstanceOf('Hamcrest\Core\IsEqual', $matchers[0]);
- $this->assertTrue($matchers[0]->matches('foo'));
- }
- }
|