1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
<?php
namespace Hamcrest\Core;
class AllOfTest extends \Hamcrest\AbstractMatcherTestCase
{
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'
);
}
}
|