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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
<?php
namespace Hamcrest\Core;
class AnyOfTest extends \Hamcrest\AbstractMatcherTestCase
{
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')
);
}
}
|