/home/mip/mip/public/vendor/laravel-filemanager/files/folder-1/821668/hamcrest.zip
PK �8]f%
� � # hamcrest-php/tests/phpunit.xml.distnu �Iw�� <phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="bootstrap.php"
colors="false"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
syntaxCheck="false">
<testsuites>
<testsuite name="hamcrest-php">
<directory suffix="Test.php">.</directory>
</testsuite>
</testsuites>
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory suffix=".php">../hamcrest</directory>
</whitelist>
</filter>
</phpunit>
PK �8]��6� � hamcrest-php/tests/bootstrap.phpnu �Iw�� <?php
error_reporting(E_ALL | E_STRICT);
require __DIR__ . '/../vendor/autoload.php';
if (defined('E_DEPRECATED')) {
error_reporting(error_reporting() | E_DEPRECATED);
}
define('HAMCREST_TEST_BASE', realpath(dirname(__FILE__)));
define('HAMCREST_BASE', realpath(dirname(dirname(__FILE__))));
set_include_path(implode(PATH_SEPARATOR, array(
HAMCREST_TEST_BASE,
HAMCREST_BASE . '/hamcrest',
get_include_path()
)));
require_once 'Hamcrest.php';
PK �8]�L�8
8
( hamcrest-php/tests/Hamcrest/UtilTest.phpnu �Iw�� <?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'));
}
}
PK �8]ną> > 4 hamcrest-php/tests/Hamcrest/Core/HasToStringTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class PhpForm
{
public function __toString()
{
return 'php';
}
}
class JavaForm
{
public function toString()
{
return 'java';
}
}
class BothForms
{
public function __toString()
{
return 'php';
}
public function toString()
{
return 'java';
}
}
class HasToStringTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\HasToString::hasToString('foo');
}
public function testMatchesWhenToStringMatches()
{
$this->assertMatches(
hasToString(equalTo('php')),
new \Hamcrest\Core\PhpForm(),
'correct __toString'
);
$this->assertMatches(
hasToString(equalTo('java')),
new \Hamcrest\Core\JavaForm(),
'correct toString'
);
}
public function testPicksJavaOverPhpToString()
{
$this->assertMatches(
hasToString(equalTo('java')),
new \Hamcrest\Core\BothForms(),
'correct toString'
);
}
public function testDoesNotMatchWhenToStringDoesNotMatch()
{
$this->assertDoesNotMatch(
hasToString(equalTo('mismatch')),
new \Hamcrest\Core\PhpForm(),
'incorrect __toString'
);
$this->assertDoesNotMatch(
hasToString(equalTo('mismatch')),
new \Hamcrest\Core\JavaForm(),
'incorrect toString'
);
$this->assertDoesNotMatch(
hasToString(equalTo('mismatch')),
new \Hamcrest\Core\BothForms(),
'incorrect __toString'
);
}
public function testDoesNotMatchNull()
{
$this->assertDoesNotMatch(
hasToString(equalTo('a')),
null,
'should not match null'
);
}
public function testProvidesConvenientShortcutForTraversableWithSizeEqualTo()
{
$this->assertMatches(
hasToString(equalTo('php')),
new \Hamcrest\Core\PhpForm(),
'correct __toString'
);
}
public function testHasAReadableDescription()
{
$this->assertDescription(
'an object with toString() "php"',
hasToString(equalTo('php'))
);
}
}
PK �8]��ȟ � . hamcrest-php/tests/Hamcrest/Core/AnyOfTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class AnyOfTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\AnyOf::anyOf('irrelevant');
}
public function testAnyOfEvaluatesToTheLogicalDisjunctionOfTwoOtherMatchers()
{
assertThat('good', anyOf('bad', 'good'));
assertThat('good', anyOf('good', 'good'));
assertThat('good', anyOf('good', 'bad'));
assertThat('good', not(anyOf('bad', startsWith('b'))));
}
public function testAnyOfEvaluatesToTheLogicalDisjunctionOfManyOtherMatchers()
{
assertThat('good', anyOf('bad', 'good', 'bad', 'bad', 'bad'));
assertThat('good', not(anyOf('bad', 'bad', 'bad', 'bad', 'bad')));
}
public function testAnyOfSupportsMixedTypes()
{
$combined = anyOf(
equalTo(new \Hamcrest\Core\SampleBaseClass('good')),
equalTo(new \Hamcrest\Core\SampleBaseClass('ugly')),
equalTo(new \Hamcrest\Core\SampleSubClass('good'))
);
assertThat(new \Hamcrest\Core\SampleSubClass('good'), $combined);
}
public function testAnyOfHasAReadableDescription()
{
$this->assertDescription(
'("good" or "bad" or "ugly")',
anyOf('good', 'bad', 'ugly')
);
}
public function testNoneOfEvaluatesToTheLogicalDisjunctionOfTwoOtherMatchers()
{
assertThat('good', not(noneOf('bad', 'good')));
assertThat('good', not(noneOf('good', 'good')));
assertThat('good', not(noneOf('good', 'bad')));
assertThat('good', noneOf('bad', startsWith('b')));
}
public function testNoneOfEvaluatesToTheLogicalDisjunctionOfManyOtherMatchers()
{
assertThat('good', not(noneOf('bad', 'good', 'bad', 'bad', 'bad')));
assertThat('good', noneOf('bad', 'bad', 'bad', 'bad', 'bad'));
}
public function testNoneOfSupportsMixedTypes()
{
$combined = noneOf(
equalTo(new \Hamcrest\Core\SampleBaseClass('good')),
equalTo(new \Hamcrest\Core\SampleBaseClass('ugly')),
equalTo(new \Hamcrest\Core\SampleSubClass('good'))
);
assertThat(new \Hamcrest\Core\SampleSubClass('bad'), $combined);
}
public function testNoneOfHasAReadableDescription()
{
$this->assertDescription(
'not ("good" or "bad" or "ugly")',
noneOf('good', 'bad', 'ugly')
);
}
}
PK �8]�/�o� � 4 hamcrest-php/tests/Hamcrest/Core/SampleBaseClass.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class SampleBaseClass
{
private $_arg;
public function __construct($arg)
{
$this->_arg = $arg;
}
public function __toString()
{
return $this->_arg;
}
}
PK �8]Op�/ / 4 hamcrest-php/tests/Hamcrest/Core/DescribedAsTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class DescribedAsTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\DescribedAs::describedAs('irrelevant', anything());
}
public function testOverridesDescriptionOfOtherMatcherWithThatPassedToConstructor()
{
$m1 = describedAs('m1 description', anything());
$m2 = describedAs('m2 description', not(anything()));
$this->assertDescription('m1 description', $m1);
$this->assertDescription('m2 description', $m2);
}
public function testAppendsValuesToDescription()
{
$m = describedAs('value 1 = %0, value 2 = %1', anything(), 33, 97);
$this->assertDescription('value 1 = <33>, value 2 = <97>', $m);
}
public function testDelegatesMatchingToAnotherMatcher()
{
$m1 = describedAs('irrelevant', anything());
$m2 = describedAs('irrelevant', not(anything()));
$this->assertTrue($m1->matches(new \stdClass()));
$this->assertFalse($m2->matches('hi'));
}
}
PK �8]e���� � : hamcrest-php/tests/Hamcrest/Core/CombinableMatcherTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class CombinableMatcherTest extends \Hamcrest\AbstractMatcherTest
{
private $_either_3_or_4;
private $_not_3_and_not_4;
public function setUp()
{
$this->_either_3_or_4 = \Hamcrest\Core\CombinableMatcher::either(equalTo(3))->orElse(equalTo(4));
$this->_not_3_and_not_4 = \Hamcrest\Core\CombinableMatcher::both(not(equalTo(3)))->andAlso(not(equalTo(4)));
}
protected function createMatcher()
{
return \Hamcrest\Core\CombinableMatcher::either(equalTo('irrelevant'))->orElse(equalTo('ignored'));
}
public function testBothAcceptsAndRejects()
{
assertThat(2, $this->_not_3_and_not_4);
assertThat(3, not($this->_not_3_and_not_4));
}
public function testAcceptsAndRejectsThreeAnds()
{
$tripleAnd = $this->_not_3_and_not_4->andAlso(equalTo(2));
assertThat(2, $tripleAnd);
assertThat(3, not($tripleAnd));
}
public function testBothDescribesItself()
{
$this->assertEquals('(not <3> and not <4>)', (string) $this->_not_3_and_not_4);
$this->assertMismatchDescription('was <3>', $this->_not_3_and_not_4, 3);
}
public function testEitherAcceptsAndRejects()
{
assertThat(3, $this->_either_3_or_4);
assertThat(6, not($this->_either_3_or_4));
}
public function testAcceptsAndRejectsThreeOrs()
{
$orTriple = $this->_either_3_or_4->orElse(greaterThan(10));
assertThat(11, $orTriple);
assertThat(9, not($orTriple));
}
public function testEitherDescribesItself()
{
$this->assertEquals('(<3> or <4>)', (string) $this->_either_3_or_4);
$this->assertMismatchDescription('was <6>', $this->_either_3_or_4, 6);
}
}
PK �8]@S�F
F
? hamcrest-php/tests/Hamcrest/Core/IsCollectionContainingTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class IsCollectionContainingTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\IsCollectionContaining::hasItem(equalTo('irrelevant'));
}
public function testMatchesACollectionThatContainsAnElementMatchingTheGivenMatcher()
{
$itemMatcher = hasItem(equalTo('a'));
$this->assertMatches(
$itemMatcher,
array('a', 'b', 'c'),
"should match list that contains 'a'"
);
}
public function testDoesNotMatchCollectionThatDoesntContainAnElementMatchingTheGivenMatcher()
{
$matcher1 = hasItem(equalTo('a'));
$this->assertDoesNotMatch(
$matcher1,
array('b', 'c'),
"should not match list that doesn't contain 'a'"
);
$matcher2 = hasItem(equalTo('a'));
$this->assertDoesNotMatch(
$matcher2,
array(),
'should not match the empty list'
);
}
public function testDoesNotMatchNull()
{
$this->assertDoesNotMatch(
hasItem(equalTo('a')),
null,
'should not match null'
);
}
public function testHasAReadableDescription()
{
$this->assertDescription('a collection containing "a"', hasItem(equalTo('a')));
}
public function testMatchesAllItemsInCollection()
{
$matcher1 = hasItems(equalTo('a'), equalTo('b'), equalTo('c'));
$this->assertMatches(
$matcher1,
array('a', 'b', 'c'),
'should match list containing all items'
);
$matcher2 = hasItems('a', 'b', 'c');
$this->assertMatches(
$matcher2,
array('a', 'b', 'c'),
'should match list containing all items (without matchers)'
);
$matcher3 = hasItems(equalTo('a'), equalTo('b'), equalTo('c'));
$this->assertMatches(
$matcher3,
array('c', 'b', 'a'),
'should match list containing all items in any order'
);
$matcher4 = hasItems(equalTo('a'), equalTo('b'), equalTo('c'));
$this->assertMatches(
$matcher4,
array('e', 'c', 'b', 'a', 'd'),
'should match list containing all items plus others'
);
$matcher5 = hasItems(equalTo('a'), equalTo('b'), equalTo('c'));
$this->assertDoesNotMatch(
$matcher5,
array('e', 'c', 'b', 'd'), // 'a' missing
'should not match list unless it contains all items'
);
}
}
PK �8]���R R + hamcrest-php/tests/Hamcrest/Core/IsTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class IsTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\Is::is('something');
}
public function testJustMatchesTheSameWayTheUnderylingMatcherDoes()
{
$this->assertMatches(is(equalTo(true)), true, 'should match');
$this->assertMatches(is(equalTo(false)), false, 'should match');
$this->assertDoesNotMatch(is(equalTo(true)), false, 'should not match');
$this->assertDoesNotMatch(is(equalTo(false)), true, 'should not match');
}
public function testGeneratesIsPrefixInDescription()
{
$this->assertDescription('is <true>', is(equalTo(true)));
}
public function testProvidesConvenientShortcutForIsEqualTo()
{
$this->assertMatches(is('A'), 'A', 'should match');
$this->assertMatches(is('B'), 'B', 'should match');
$this->assertDoesNotMatch(is('A'), 'B', 'should not match');
$this->assertDoesNotMatch(is('B'), 'A', 'should not match');
$this->assertDescription('is "A"', is('A'));
}
}
PK �8]�)�/` ` 3 hamcrest-php/tests/Hamcrest/Core/SampleSubClass.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class SampleSubClass extends \Hamcrest\Core\SampleBaseClass
{
}
PK �8]��4�� � / hamcrest-php/tests/Hamcrest/Core/IsNullTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class IsNullTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\IsNull::nullValue();
}
public function testEvaluatesToTrueIfArgumentIsNull()
{
assertThat(null, nullValue());
assertThat(self::ANY_NON_NULL_ARGUMENT, not(nullValue()));
assertThat(self::ANY_NON_NULL_ARGUMENT, notNullValue());
assertThat(null, not(notNullValue()));
}
}
PK �8]��� 4 hamcrest-php/tests/Hamcrest/Core/IsIdenticalTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class IsIdenticalTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\IsIdentical::identicalTo('irrelevant');
}
public function testEvaluatesToTrueIfArgumentIsReferenceToASpecifiedObject()
{
$o1 = new \stdClass();
$o2 = new \stdClass();
assertThat($o1, identicalTo($o1));
assertThat($o2, not(identicalTo($o1)));
}
public function testReturnsReadableDescriptionFromToString()
{
$this->assertDescription('"ARG"', identicalTo('ARG'));
}
public function testReturnsReadableDescriptionFromToStringWhenInitialisedWithNull()
{
$this->assertDescription('null', identicalTo(null));
}
}
PK �8]���w� � . hamcrest-php/tests/Hamcrest/Core/IsNotTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class IsNotTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\IsNot::not('something');
}
public function testEvaluatesToTheTheLogicalNegationOfAnotherMatcher()
{
$this->assertMatches(not(equalTo('A')), 'B', 'should match');
$this->assertDoesNotMatch(not(equalTo('B')), 'B', 'should not match');
}
public function testProvidesConvenientShortcutForNotEqualTo()
{
$this->assertMatches(not('A'), 'B', 'should match');
$this->assertMatches(not('B'), 'A', 'should match');
$this->assertDoesNotMatch(not('A'), 'A', 'should not match');
$this->assertDoesNotMatch(not('B'), 'B', 'should not match');
}
public function testUsesDescriptionOfNegatedMatcherWithPrefix()
{
$this->assertDescription('not a value greater than <2>', not(greaterThan(2)));
$this->assertDescription('not "A"', not('A'));
}
}
PK �8]�l���
�
0 hamcrest-php/tests/Hamcrest/Core/IsEqualTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class DummyToStringClass
{
private $_arg;
public function __construct($arg)
{
$this->_arg = $arg;
}
public function __toString()
{
return $this->_arg;
}
}
class IsEqualTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\IsEqual::equalTo('irrelevant');
}
public function testComparesObjectsUsingEqualityOperator()
{
assertThat("hi", equalTo("hi"));
assertThat("bye", not(equalTo("hi")));
assertThat(1, equalTo(1));
assertThat(1, not(equalTo(2)));
assertThat("2", equalTo(2));
}
public function testCanCompareNullValues()
{
assertThat(null, equalTo(null));
assertThat(null, not(equalTo('hi')));
assertThat('hi', not(equalTo(null)));
}
public function testComparesTheElementsOfAnArray()
{
$s1 = array('a', 'b');
$s2 = array('a', 'b');
$s3 = array('c', 'd');
$s4 = array('a', 'b', 'c', 'd');
assertThat($s1, equalTo($s1));
assertThat($s2, equalTo($s1));
assertThat($s3, not(equalTo($s1)));
assertThat($s4, not(equalTo($s1)));
}
public function testComparesTheElementsOfAnArrayOfPrimitiveTypes()
{
$i1 = array(1, 2);
$i2 = array(1, 2);
$i3 = array(3, 4);
$i4 = array(1, 2, 3, 4);
assertThat($i1, equalTo($i1));
assertThat($i2, equalTo($i1));
assertThat($i3, not(equalTo($i1)));
assertThat($i4, not(equalTo($i1)));
}
public function testRecursivelyTestsElementsOfArrays()
{
$i1 = array(array(1, 2), array(3, 4));
$i2 = array(array(1, 2), array(3, 4));
$i3 = array(array(5, 6), array(7, 8));
$i4 = array(array(1, 2, 3, 4), array(3, 4));
assertThat($i1, equalTo($i1));
assertThat($i2, equalTo($i1));
assertThat($i3, not(equalTo($i1)));
assertThat($i4, not(equalTo($i1)));
}
public function testIncludesTheResultOfCallingToStringOnItsArgumentInTheDescription()
{
$argumentDescription = 'ARGUMENT DESCRIPTION';
$argument = new \Hamcrest\Core\DummyToStringClass($argumentDescription);
$this->assertDescription('<' . $argumentDescription . '>', equalTo($argument));
}
public function testReturnsAnObviousDescriptionIfCreatedWithANestedMatcherByMistake()
{
$innerMatcher = equalTo('NestedMatcher');
$this->assertDescription('<' . (string) $innerMatcher . '>', equalTo($innerMatcher));
}
public function testReturnsGoodDescriptionIfCreatedWithNullReference()
{
$this->assertDescription('null', equalTo(null));
}
}
PK �8]�#�u / hamcrest-php/tests/Hamcrest/Core/IsSameTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class IsSameTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\IsSame::sameInstance(new \stdClass());
}
public function testEvaluatesToTrueIfArgumentIsReferenceToASpecifiedObject()
{
$o1 = new \stdClass();
$o2 = new \stdClass();
assertThat($o1, sameInstance($o1));
assertThat($o2, not(sameInstance($o1)));
}
public function testReturnsReadableDescriptionFromToString()
{
$this->assertDescription('sameInstance("ARG")', sameInstance('ARG'));
}
public function testReturnsReadableDescriptionFromToStringWhenInitialisedWithNull()
{
$this->assertDescription('sameInstance(null)', sameInstance(null));
}
}
PK �8]�6� � 3 hamcrest-php/tests/Hamcrest/Core/IsAnythingTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class IsAnythingTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\IsAnything::anything();
}
public function testAlwaysEvaluatesToTrue()
{
assertThat(null, anything());
assertThat(new \stdClass(), anything());
assertThat('hi', anything());
}
public function testHasUsefulDefaultDescription()
{
$this->assertDescription('ANYTHING', anything());
}
public function testCanOverrideDescription()
{
$description = 'description';
$this->assertDescription($description, anything($description));
}
}
PK �8]E��R~ ~ , hamcrest-php/tests/Hamcrest/Core/SetTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class SetTest extends \Hamcrest\AbstractMatcherTest
{
public static $_classProperty;
public $_instanceProperty;
protected function setUp()
{
self::$_classProperty = null;
unset($this->_instanceProperty);
}
protected function createMatcher()
{
return \Hamcrest\Core\Set::set('property_name');
}
public function testEvaluatesToTrueIfArrayPropertyIsSet()
{
assertThat(array('foo' => 'bar'), set('foo'));
}
public function testNegatedEvaluatesToFalseIfArrayPropertyIsSet()
{
assertThat(array('foo' => 'bar'), not(notSet('foo')));
}
public function testEvaluatesToTrueIfClassPropertyIsSet()
{
self::$_classProperty = 'bar';
assertThat('Hamcrest\Core\SetTest', set('_classProperty'));
}
public function testNegatedEvaluatesToFalseIfClassPropertyIsSet()
{
self::$_classProperty = 'bar';
assertThat('Hamcrest\Core\SetTest', not(notSet('_classProperty')));
}
public function testEvaluatesToTrueIfObjectPropertyIsSet()
{
$this->_instanceProperty = 'bar';
assertThat($this, set('_instanceProperty'));
}
public function testNegatedEvaluatesToFalseIfObjectPropertyIsSet()
{
$this->_instanceProperty = 'bar';
assertThat($this, not(notSet('_instanceProperty')));
}
public function testEvaluatesToFalseIfArrayPropertyIsNotSet()
{
assertThat(array('foo' => 'bar'), not(set('baz')));
}
public function testNegatedEvaluatesToTrueIfArrayPropertyIsNotSet()
{
assertThat(array('foo' => 'bar'), notSet('baz'));
}
public function testEvaluatesToFalseIfClassPropertyIsNotSet()
{
assertThat('Hamcrest\Core\SetTest', not(set('_classProperty')));
}
public function testNegatedEvaluatesToTrueIfClassPropertyIsNotSet()
{
assertThat('Hamcrest\Core\SetTest', notSet('_classProperty'));
}
public function testEvaluatesToFalseIfObjectPropertyIsNotSet()
{
assertThat($this, not(set('_instanceProperty')));
}
public function testNegatedEvaluatesToTrueIfObjectPropertyIsNotSet()
{
assertThat($this, notSet('_instanceProperty'));
}
public function testHasAReadableDescription()
{
$this->assertDescription('set property foo', set('foo'));
$this->assertDescription('unset property bar', notSet('bar'));
}
public function testDecribesPropertySettingInMismatchMessage()
{
$this->assertMismatchDescription(
'was not set',
set('bar'),
array('foo' => 'bar')
);
$this->assertMismatchDescription(
'was "bar"',
notSet('foo'),
array('foo' => 'bar')
);
self::$_classProperty = 'bar';
$this->assertMismatchDescription(
'was "bar"',
notSet('_classProperty'),
'Hamcrest\Core\SetTest'
);
$this->_instanceProperty = 'bar';
$this->assertMismatchDescription(
'was "bar"',
notSet('_instanceProperty'),
$this
);
}
}
PK �8]���I+ + 5 hamcrest-php/tests/Hamcrest/Core/IsInstanceOfTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class IsInstanceOfTest extends \Hamcrest\AbstractMatcherTest
{
private $_baseClassInstance;
private $_subClassInstance;
public function setUp()
{
$this->_baseClassInstance = new \Hamcrest\Core\SampleBaseClass('good');
$this->_subClassInstance = new \Hamcrest\Core\SampleSubClass('good');
}
protected function createMatcher()
{
return \Hamcrest\Core\IsInstanceOf::anInstanceOf('stdClass');
}
public function testEvaluatesToTrueIfArgumentIsInstanceOfASpecificClass()
{
assertThat($this->_baseClassInstance, anInstanceOf('Hamcrest\Core\SampleBaseClass'));
assertThat($this->_subClassInstance, anInstanceOf('Hamcrest\Core\SampleSubClass'));
assertThat(null, not(anInstanceOf('Hamcrest\Core\SampleBaseClass')));
assertThat(new \stdClass(), not(anInstanceOf('Hamcrest\Core\SampleBaseClass')));
}
public function testEvaluatesToFalseIfArgumentIsNotAnObject()
{
assertThat(null, not(anInstanceOf('Hamcrest\Core\SampleBaseClass')));
assertThat(false, not(anInstanceOf('Hamcrest\Core\SampleBaseClass')));
assertThat(5, not(anInstanceOf('Hamcrest\Core\SampleBaseClass')));
assertThat('foo', not(anInstanceOf('Hamcrest\Core\SampleBaseClass')));
assertThat(array(1, 2, 3), not(anInstanceOf('Hamcrest\Core\SampleBaseClass')));
}
public function testHasAReadableDescription()
{
$this->assertDescription('an instance of stdClass', anInstanceOf('stdClass'));
}
public function testDecribesActualClassInMismatchMessage()
{
$this->assertMismatchDescription(
'[Hamcrest\Core\SampleBaseClass] <good>',
anInstanceOf('Hamcrest\Core\SampleSubClass'),
$this->_baseClassInstance
);
}
}
PK �8]* . hamcrest-php/tests/Hamcrest/Core/AllOfTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class AllOfTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\AllOf::allOf('irrelevant');
}
public function testEvaluatesToTheLogicalConjunctionOfTwoOtherMatchers()
{
assertThat('good', allOf('good', 'good'));
assertThat('good', not(allOf('bad', 'good')));
assertThat('good', not(allOf('good', 'bad')));
assertThat('good', not(allOf('bad', 'bad')));
}
public function testEvaluatesToTheLogicalConjunctionOfManyOtherMatchers()
{
assertThat('good', allOf('good', 'good', 'good', 'good', 'good'));
assertThat('good', not(allOf('good', endsWith('d'), 'bad', 'good', 'good')));
}
public function testSupportsMixedTypes()
{
$all = allOf(
equalTo(new \Hamcrest\Core\SampleBaseClass('good')),
equalTo(new \Hamcrest\Core\SampleBaseClass('good')),
equalTo(new \Hamcrest\Core\SampleSubClass('ugly'))
);
$negated = not($all);
assertThat(new \Hamcrest\Core\SampleSubClass('good'), $negated);
}
public function testHasAReadableDescription()
{
$this->assertDescription(
'("good" and "bad" and "ugly")',
allOf('good', 'bad', 'ugly')
);
}
public function testMismatchDescriptionDescribesFirstFailingMatch()
{
$this->assertMismatchDescription(
'"good" was "bad"',
allOf('bad', 'good'),
'bad'
);
}
}
PK �8]
'93B B . hamcrest-php/tests/Hamcrest/Core/EveryTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class EveryTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\Every::everyItem(anything());
}
public function testIsTrueWhenEveryValueMatches()
{
assertThat(array('AaA', 'BaB', 'CaC'), everyItem(containsString('a')));
assertThat(array('AbA', 'BbB', 'CbC'), not(everyItem(containsString('a'))));
}
public function testIsAlwaysTrueForEmptyLists()
{
assertThat(array(), everyItem(containsString('a')));
}
public function testDescribesItself()
{
$each = everyItem(containsString('a'));
$this->assertEquals('every item is a string containing "a"', (string) $each);
$this->assertMismatchDescription('an item was "BbB"', $each, array('BbB'));
}
}
PK �8]��R�� � 1 hamcrest-php/tests/Hamcrest/Core/IsTypeOfTest.phpnu �Iw�� <?php
namespace Hamcrest\Core;
class IsTypeOfTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Core\IsTypeOf::typeOf('integer');
}
public function testEvaluatesToTrueIfArgumentMatchesType()
{
assertThat(array('5', 5), typeOf('array'));
assertThat(false, typeOf('boolean'));
assertThat(5, typeOf('integer'));
assertThat(5.2, typeOf('double'));
assertThat(null, typeOf('null'));
assertThat(tmpfile(), typeOf('resource'));
assertThat('a string', typeOf('string'));
}
public function testEvaluatesToFalseIfArgumentDoesntMatchType()
{
assertThat(false, not(typeOf('array')));
assertThat(array('5', 5), not(typeOf('boolean')));
assertThat(5.2, not(typeOf('integer')));
assertThat(5, not(typeOf('double')));
assertThat(false, not(typeOf('null')));
assertThat('a string', not(typeOf('resource')));
assertThat(tmpfile(), not(typeOf('string')));
}
public function testHasAReadableDescription()
{
$this->assertDescription('a double', typeOf('double'));
$this->assertDescription('an integer', typeOf('integer'));
}
public function testDecribesActualTypeInMismatchMessage()
{
$this->assertMismatchDescription('was null', typeOf('boolean'), null);
$this->assertMismatchDescription('was an integer <5>', typeOf('float'), 5);
}
}
PK �8]��
�E E 5 hamcrest-php/tests/Hamcrest/StringDescriptionTest.phpnu �Iw�� <?php
namespace Hamcrest;
class SampleSelfDescriber implements \Hamcrest\SelfDescribing
{
private $_text;
public function __construct($text)
{
$this->_text = $text;
}
public function describeTo(\Hamcrest\Description $description)
{
$description->appendText($this->_text);
}
}
class StringDescriptionTest extends \PhpUnit_Framework_TestCase
{
private $_description;
public function setUp()
{
$this->_description = new \Hamcrest\StringDescription();
}
public function testAppendTextAppendsTextInformation()
{
$this->_description->appendText('foo')->appendText('bar');
$this->assertEquals('foobar', (string) $this->_description);
}
public function testAppendValueCanAppendTextTypes()
{
$this->_description->appendValue('foo');
$this->assertEquals('"foo"', (string) $this->_description);
}
public function testSpecialCharactersAreEscapedForStringTypes()
{
$this->_description->appendValue("foo\\bar\"zip\r\n");
$this->assertEquals('"foo\\bar\\"zip\r\n"', (string) $this->_description);
}
public function testIntegerValuesCanBeAppended()
{
$this->_description->appendValue(42);
$this->assertEquals('<42>', (string) $this->_description);
}
public function testFloatValuesCanBeAppended()
{
$this->_description->appendValue(42.78);
$this->assertEquals('<42.78F>', (string) $this->_description);
}
public function testNullValuesCanBeAppended()
{
$this->_description->appendValue(null);
$this->assertEquals('null', (string) $this->_description);
}
public function testArraysCanBeAppended()
{
$this->_description->appendValue(array('foo', 42.78));
$this->assertEquals('["foo", <42.78F>]', (string) $this->_description);
}
public function testObjectsCanBeAppended()
{
$this->_description->appendValue(new \stdClass());
$this->assertEquals('<stdClass>', (string) $this->_description);
}
public function testBooleanValuesCanBeAppended()
{
$this->_description->appendValue(false);
$this->assertEquals('<false>', (string) $this->_description);
}
public function testListsOfvaluesCanBeAppended()
{
$this->_description->appendValue(array('foo', 42.78));
$this->assertEquals('["foo", <42.78F>]', (string) $this->_description);
}
public function testIterableOfvaluesCanBeAppended()
{
$items = new \ArrayObject(array('foo', 42.78));
$this->_description->appendValue($items);
$this->assertEquals('["foo", <42.78F>]', (string) $this->_description);
}
public function testIteratorOfvaluesCanBeAppended()
{
$items = new \ArrayObject(array('foo', 42.78));
$this->_description->appendValue($items->getIterator());
$this->assertEquals('["foo", <42.78F>]', (string) $this->_description);
}
public function testListsOfvaluesCanBeAppendedManually()
{
$this->_description->appendValueList('@start@', '@sep@ ', '@end@', array('foo', 42.78));
$this->assertEquals('@start@"foo"@sep@ <42.78F>@end@', (string) $this->_description);
}
public function testIterableOfvaluesCanBeAppendedManually()
{
$items = new \ArrayObject(array('foo', 42.78));
$this->_description->appendValueList('@start@', '@sep@ ', '@end@', $items);
$this->assertEquals('@start@"foo"@sep@ <42.78F>@end@', (string) $this->_description);
}
public function testIteratorOfvaluesCanBeAppendedManually()
{
$items = new \ArrayObject(array('foo', 42.78));
$this->_description->appendValueList('@start@', '@sep@ ', '@end@', $items->getIterator());
$this->assertEquals('@start@"foo"@sep@ <42.78F>@end@', (string) $this->_description);
}
public function testSelfDescribingObjectsCanBeAppended()
{
$this->_description
->appendDescriptionOf(new \Hamcrest\SampleSelfDescriber('foo'))
->appendDescriptionOf(new \Hamcrest\SampleSelfDescriber('bar'))
;
$this->assertEquals('foobar', (string) $this->_description);
}
public function testSelfDescribingObjectsCanBeAppendedAsLists()
{
$this->_description->appendList('@start@', '@sep@ ', '@end@', array(
new \Hamcrest\SampleSelfDescriber('foo'),
new \Hamcrest\SampleSelfDescriber('bar')
));
$this->assertEquals('@start@foo@sep@ bar@end@', (string) $this->_description);
}
public function testSelfDescribingObjectsCanBeAppendedAsIteratedLists()
{
$items = new \ArrayObject(array(
new \Hamcrest\SampleSelfDescriber('foo'),
new \Hamcrest\SampleSelfDescriber('bar')
));
$this->_description->appendList('@start@', '@sep@ ', '@end@', $items);
$this->assertEquals('@start@foo@sep@ bar@end@', (string) $this->_description);
}
public function testSelfDescribingObjectsCanBeAppendedAsIterators()
{
$items = new \ArrayObject(array(
new \Hamcrest\SampleSelfDescriber('foo'),
new \Hamcrest\SampleSelfDescriber('bar')
));
$this->_description->appendList('@start@', '@sep@ ', '@end@', $items->getIterator());
$this->assertEquals('@start@foo@sep@ bar@end@', (string) $this->_description);
}
}
PK �8]�ob�z z 2 hamcrest-php/tests/Hamcrest/FeatureMatcherTest.phpnu �Iw�� <?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();
}
}
PK �8]_g�6� � = hamcrest-php/tests/Hamcrest/Number/OrderingComparisonTest.phpnu �Iw�� <?php
namespace Hamcrest\Number;
class OrderingComparisonTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Number\OrderingComparison::greaterThan(1);
}
public function testComparesValuesForGreaterThan()
{
assertThat(2, greaterThan(1));
assertThat(0, not(greaterThan(1)));
}
public function testComparesValuesForLessThan()
{
assertThat(2, lessThan(3));
assertThat(0, lessThan(1));
}
public function testComparesValuesForEquality()
{
assertThat(3, comparesEqualTo(3));
assertThat('aa', comparesEqualTo('aa'));
}
public function testAllowsForInclusiveComparisons()
{
assertThat(1, lessThanOrEqualTo(1));
assertThat(1, greaterThanOrEqualTo(1));
}
public function testSupportsDifferentTypesOfComparableValues()
{
assertThat(1.1, greaterThan(1.0));
assertThat("cc", greaterThan("bb"));
}
}
PK �8]�d��! ! 4 hamcrest-php/tests/Hamcrest/Number/IsCloseToTest.phpnu �Iw�� <?php
namespace Hamcrest\Number;
class IsCloseToTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
$irrelevant = 0.1;
return \Hamcrest\Number\IsCloseTo::closeTo($irrelevant, $irrelevant);
}
public function testEvaluatesToTrueIfArgumentIsEqualToADoubleValueWithinSomeError()
{
$p = closeTo(1.0, 0.5);
$this->assertTrue($p->matches(1.0));
$this->assertTrue($p->matches(0.5));
$this->assertTrue($p->matches(1.5));
$this->assertDoesNotMatch($p, 2.0, 'too large');
$this->assertMismatchDescription('<2F> differed by <0.5F>', $p, 2.0);
$this->assertDoesNotMatch($p, 0.0, 'number too small');
$this->assertMismatchDescription('<0F> differed by <0.5F>', $p, 0.0);
}
}
PK �8]�Hٷ � 2 hamcrest-php/tests/Hamcrest/Type/IsBooleanTest.phpnu �Iw�� <?php
namespace Hamcrest\Type;
class IsBooleanTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Type\IsBoolean::booleanValue();
}
public function testEvaluatesToTrueIfArgumentMatchesType()
{
assertThat(false, booleanValue());
assertThat(true, booleanValue());
}
public function testEvaluatesToFalseIfArgumentDoesntMatchType()
{
assertThat(array(), not(booleanValue()));
assertThat(5, not(booleanValue()));
assertThat('foo', not(booleanValue()));
}
public function testHasAReadableDescription()
{
$this->assertDescription('a boolean', booleanValue());
}
public function testDecribesActualTypeInMismatchMessage()
{
$this->assertMismatchDescription('was null', booleanValue(), null);
$this->assertMismatchDescription('was a string "foo"', booleanValue(), 'foo');
}
}
PK �8]��� � 1 hamcrest-php/tests/Hamcrest/Type/IsObjectTest.phpnu �Iw�� <?php
namespace Hamcrest\Type;
class IsObjectTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Type\IsObject::objectValue();
}
public function testEvaluatesToTrueIfArgumentMatchesType()
{
assertThat(new \stdClass, objectValue());
}
public function testEvaluatesToFalseIfArgumentDoesntMatchType()
{
assertThat(false, not(objectValue()));
assertThat(5, not(objectValue()));
assertThat('foo', not(objectValue()));
}
public function testHasAReadableDescription()
{
$this->assertDescription('an object', objectValue());
}
public function testDecribesActualTypeInMismatchMessage()
{
$this->assertMismatchDescription('was null', objectValue(), null);
$this->assertMismatchDescription('was a string "foo"', objectValue(), 'foo');
}
}
PK �8]�v��� � 2 hamcrest-php/tests/Hamcrest/Type/IsIntegerTest.phpnu �Iw�� <?php
namespace Hamcrest\Type;
class IsIntegerTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Type\IsInteger::integerValue();
}
public function testEvaluatesToTrueIfArgumentMatchesType()
{
assertThat(5, integerValue());
assertThat(0, integerValue());
assertThat(-5, integerValue());
}
public function testEvaluatesToFalseIfArgumentDoesntMatchType()
{
assertThat(false, not(integerValue()));
assertThat(5.2, not(integerValue()));
assertThat('foo', not(integerValue()));
}
public function testHasAReadableDescription()
{
$this->assertDescription('an integer', integerValue());
}
public function testDecribesActualTypeInMismatchMessage()
{
$this->assertMismatchDescription('was null', integerValue(), null);
$this->assertMismatchDescription('was a string "foo"', integerValue(), 'foo');
}
}
PK �8]Lz��r r 1 hamcrest-php/tests/Hamcrest/Type/IsScalarTest.phpnu �Iw�� <?php
namespace Hamcrest\Type;
class IsScalarTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Type\IsScalar::scalarValue();
}
public function testEvaluatesToTrueIfArgumentMatchesType()
{
assertThat(true, scalarValue());
assertThat(5, scalarValue());
assertThat(5.3, scalarValue());
assertThat('5', scalarValue());
}
public function testEvaluatesToFalseIfArgumentDoesntMatchType()
{
assertThat(null, not(scalarValue()));
assertThat(array(), not(scalarValue()));
assertThat(array(5), not(scalarValue()));
assertThat(tmpfile(), not(scalarValue()));
assertThat(new \stdClass(), not(scalarValue()));
}
public function testHasAReadableDescription()
{
$this->assertDescription('a scalar', scalarValue());
}
public function testDecribesActualTypeInMismatchMessage()
{
$this->assertMismatchDescription('was null', scalarValue(), null);
$this->assertMismatchDescription('was an array ["foo"]', scalarValue(), array('foo'));
}
}
PK �8]�v^�
�
3 hamcrest-php/tests/Hamcrest/Type/IsCallableTest.phpnu �Iw�� <?php
namespace Hamcrest\Type;
class IsCallableTest extends \Hamcrest\AbstractMatcherTest
{
public static function callableFunction()
{
}
public function __invoke()
{
}
protected function createMatcher()
{
return \Hamcrest\Type\IsCallable::callableValue();
}
public function testEvaluatesToTrueIfArgumentIsFunctionName()
{
assertThat('preg_match', callableValue());
}
public function testEvaluatesToTrueIfArgumentIsStaticMethodCallback()
{
assertThat(
array('Hamcrest\Type\IsCallableTest', 'callableFunction'),
callableValue()
);
}
public function testEvaluatesToTrueIfArgumentIsInstanceMethodCallback()
{
assertThat(
array($this, 'testEvaluatesToTrueIfArgumentIsInstanceMethodCallback'),
callableValue()
);
}
public function testEvaluatesToTrueIfArgumentIsClosure()
{
if (!version_compare(PHP_VERSION, '5.3', '>=')) {
$this->markTestSkipped('Closures require php 5.3');
}
eval('assertThat(function () {}, callableValue());');
}
public function testEvaluatesToTrueIfArgumentImplementsInvoke()
{
if (!version_compare(PHP_VERSION, '5.3', '>=')) {
$this->markTestSkipped('Magic method __invoke() requires php 5.3');
}
assertThat($this, callableValue());
}
public function testEvaluatesToFalseIfArgumentIsInvalidFunctionName()
{
if (function_exists('not_a_Hamcrest_function')) {
$this->markTestSkipped('Function "not_a_Hamcrest_function" must not exist');
}
assertThat('not_a_Hamcrest_function', not(callableValue()));
}
public function testEvaluatesToFalseIfArgumentIsInvalidStaticMethodCallback()
{
assertThat(
array('Hamcrest\Type\IsCallableTest', 'noMethod'),
not(callableValue())
);
}
public function testEvaluatesToFalseIfArgumentIsInvalidInstanceMethodCallback()
{
assertThat(array($this, 'noMethod'), not(callableValue()));
}
public function testEvaluatesToFalseIfArgumentDoesntImplementInvoke()
{
assertThat(new \stdClass(), not(callableValue()));
}
public function testEvaluatesToFalseIfArgumentDoesntMatchType()
{
assertThat(false, not(callableValue()));
assertThat(5.2, not(callableValue()));
}
public function testHasAReadableDescription()
{
$this->assertDescription('a callable', callableValue());
}
public function testDecribesActualTypeInMismatchMessage()
{
$this->assertMismatchDescription(
'was a string "invalid-function"',
callableValue(),
'invalid-function'
);
}
}
PK �8]�tĚ � 3 hamcrest-php/tests/Hamcrest/Type/IsResourceTest.phpnu �Iw�� <?php
namespace Hamcrest\Type;
class IsResourceTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Type\IsResource::resourceValue();
}
public function testEvaluatesToTrueIfArgumentMatchesType()
{
assertThat(tmpfile(), resourceValue());
}
public function testEvaluatesToFalseIfArgumentDoesntMatchType()
{
assertThat(false, not(resourceValue()));
assertThat(5, not(resourceValue()));
assertThat('foo', not(resourceValue()));
}
public function testHasAReadableDescription()
{
$this->assertDescription('a resource', resourceValue());
}
public function testDecribesActualTypeInMismatchMessage()
{
$this->assertMismatchDescription('was null', resourceValue(), null);
$this->assertMismatchDescription('was a string "foo"', resourceValue(), 'foo');
}
}
PK �8]�$�� � 1 hamcrest-php/tests/Hamcrest/Type/IsDoubleTest.phpnu �Iw�� <?php
namespace Hamcrest\Type;
class IsDoubleTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Type\IsDouble::doubleValue();
}
public function testEvaluatesToTrueIfArgumentMatchesType()
{
assertThat((float) 5.2, floatValue());
assertThat((double) 5.3, doubleValue());
}
public function testEvaluatesToFalseIfArgumentDoesntMatchType()
{
assertThat(false, not(doubleValue()));
assertThat(5, not(doubleValue()));
assertThat('foo', not(doubleValue()));
}
public function testHasAReadableDescription()
{
$this->assertDescription('a double', doubleValue());
}
public function testDecribesActualTypeInMismatchMessage()
{
$this->assertMismatchDescription('was null', doubleValue(), null);
$this->assertMismatchDescription('was a string "foo"', doubleValue(), 'foo');
}
}
PK �8]
V�J� � 1 hamcrest-php/tests/Hamcrest/Type/IsStringTest.phpnu �Iw�� <?php
namespace Hamcrest\Type;
class IsStringTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Type\IsString::stringValue();
}
public function testEvaluatesToTrueIfArgumentMatchesType()
{
assertThat('', stringValue());
assertThat("foo", stringValue());
}
public function testEvaluatesToFalseIfArgumentDoesntMatchType()
{
assertThat(false, not(stringValue()));
assertThat(5, not(stringValue()));
assertThat(array(1, 2, 3), not(stringValue()));
}
public function testHasAReadableDescription()
{
$this->assertDescription('a string', stringValue());
}
public function testDecribesActualTypeInMismatchMessage()
{
$this->assertMismatchDescription('was null', stringValue(), null);
$this->assertMismatchDescription('was a double <5.2F>', stringValue(), 5.2);
}
}
PK �8]zٸJ! ! 2 hamcrest-php/tests/Hamcrest/Type/IsNumericTest.phpnu �Iw�� <?php
namespace Hamcrest\Type;
class IsNumericTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Type\IsNumeric::numericValue();
}
public function testEvaluatesToTrueIfArgumentMatchesType()
{
assertThat(5, numericValue());
assertThat(0, numericValue());
assertThat(-5, numericValue());
assertThat(5.3, numericValue());
assertThat(0.53, numericValue());
assertThat(-5.3, numericValue());
assertThat('5', numericValue());
assertThat('0', numericValue());
assertThat('-5', numericValue());
assertThat('5.3', numericValue());
assertThat('5e+3', numericValue());
assertThat('0.053e-2', numericValue());
assertThat('-53.253e+25', numericValue());
assertThat('+53.253e+25', numericValue());
assertThat('0x4F2a04', numericValue());
}
public function testEvaluatesToFalseIfArgumentDoesntMatchType()
{
assertThat(false, not(numericValue()));
assertThat('foo', not(numericValue()));
assertThat('foo5', not(numericValue()));
assertThat('5foo', not(numericValue()));
}
public function testHasAReadableDescription()
{
$this->assertDescription('a number', numericValue());
}
public function testDecribesActualTypeInMismatchMessage()
{
$this->assertMismatchDescription('was null', numericValue(), null);
$this->assertMismatchDescription('was a string "foo"', numericValue(), 'foo');
}
}
PK �8]�2�X� � 0 hamcrest-php/tests/Hamcrest/Type/IsArrayTest.phpnu �Iw�� <?php
namespace Hamcrest\Type;
class IsArrayTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Type\IsArray::arrayValue();
}
public function testEvaluatesToTrueIfArgumentMatchesType()
{
assertThat(array('5', 5), arrayValue());
assertThat(array(), arrayValue());
}
public function testEvaluatesToFalseIfArgumentDoesntMatchType()
{
assertThat(false, not(arrayValue()));
assertThat(5, not(arrayValue()));
assertThat('foo', not(arrayValue()));
}
public function testHasAReadableDescription()
{
$this->assertDescription('an array', arrayValue());
}
public function testDecribesActualTypeInMismatchMessage()
{
$this->assertMismatchDescription('was null', arrayValue(), null);
$this->assertMismatchDescription('was a string "foo"', arrayValue(), 'foo');
}
}
PK �8]�=�� � 1 hamcrest-php/tests/Hamcrest/MatcherAssertTest.phpnu �Iw�� <?php
namespace Hamcrest;
class MatcherAssertTest extends \PhpUnit_Framework_TestCase
{
protected function setUp()
{
\Hamcrest\MatcherAssert::resetCount();
}
public function testResetCount()
{
\Hamcrest\MatcherAssert::assertThat(true);
self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
\Hamcrest\MatcherAssert::resetCount();
self::assertEquals(0, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithTrueArgPasses()
{
\Hamcrest\MatcherAssert::assertThat(true);
\Hamcrest\MatcherAssert::assertThat('non-empty');
\Hamcrest\MatcherAssert::assertThat(1);
\Hamcrest\MatcherAssert::assertThat(3.14159);
\Hamcrest\MatcherAssert::assertThat(array(true));
self::assertEquals(5, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithFalseArgFails()
{
try {
\Hamcrest\MatcherAssert::assertThat(false);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat(null);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat('');
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat(0);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat(0.0);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat(array());
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('', $ex->getMessage());
}
self::assertEquals(6, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithIdentifierAndTrueArgPasses()
{
\Hamcrest\MatcherAssert::assertThat('identifier', true);
\Hamcrest\MatcherAssert::assertThat('identifier', 'non-empty');
\Hamcrest\MatcherAssert::assertThat('identifier', 1);
\Hamcrest\MatcherAssert::assertThat('identifier', 3.14159);
\Hamcrest\MatcherAssert::assertThat('identifier', array(true));
self::assertEquals(5, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithIdentifierAndFalseArgFails()
{
try {
\Hamcrest\MatcherAssert::assertThat('identifier', false);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('identifier', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat('identifier', null);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('identifier', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat('identifier', '');
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('identifier', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat('identifier', 0);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('identifier', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat('identifier', 0.0);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('identifier', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat('identifier', array());
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('identifier', $ex->getMessage());
}
self::assertEquals(6, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithActualValueAndMatcherArgsThatMatchPasses()
{
\Hamcrest\MatcherAssert::assertThat(true, is(true));
self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithActualValueAndMatcherArgsThatDontMatchFails()
{
$expected = 'expected';
$actual = 'actual';
$expectedMessage =
'Expected: "expected"' . PHP_EOL .
' but: was "actual"';
try {
\Hamcrest\MatcherAssert::assertThat($actual, equalTo($expected));
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals($expectedMessage, $ex->getMessage());
self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
}
public function testAssertThatWithIdentifierAndActualValueAndMatcherArgsThatMatchPasses()
{
\Hamcrest\MatcherAssert::assertThat('identifier', true, is(true));
self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithIdentifierAndActualValueAndMatcherArgsThatDontMatchFails()
{
$expected = 'expected';
$actual = 'actual';
$expectedMessage =
'identifier' . PHP_EOL .
'Expected: "expected"' . PHP_EOL .
' but: was "actual"';
try {
\Hamcrest\MatcherAssert::assertThat('identifier', $actual, equalTo($expected));
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals($expectedMessage, $ex->getMessage());
self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
}
public function testAssertThatWithNoArgsThrowsErrorAndDoesntIncrementCount()
{
try {
\Hamcrest\MatcherAssert::assertThat();
self::fail('expected invalid argument exception');
} catch (\InvalidArgumentException $ex) {
self::assertEquals(0, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
}
public function testAssertThatWithFourArgsThrowsErrorAndDoesntIncrementCount()
{
try {
\Hamcrest\MatcherAssert::assertThat(1, 2, 3, 4);
self::fail('expected invalid argument exception');
} catch (\InvalidArgumentException $ex) {
self::assertEquals(0, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
}
}
PK �8]���> > >