You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.1 KiB
36 lines
1.1 KiB
<?php |
|
namespace Hamcrest\Arrays; |
|
|
|
use Hamcrest\AbstractMatcherTest; |
|
|
|
class IsArrayContainingKeyValuePairTest extends AbstractMatcherTest |
|
{ |
|
|
|
protected function createMatcher() |
|
{ |
|
return IsArrayContainingKeyValuePair::hasKeyValuePair('irrelevant', 'irrelevant'); |
|
} |
|
|
|
public function testMatchesArrayContainingMatchingKeyAndValue() |
|
{ |
|
$array = array('a'=>1, 'b'=>2); |
|
|
|
$this->assertMatches(hasKeyValuePair(equalTo('a'), equalTo(1)), $array, 'matcherA'); |
|
$this->assertMatches(hasKeyValuePair(equalTo('b'), equalTo(2)), $array, 'matcherB'); |
|
$this->assertMismatchDescription( |
|
'array was ["a" => <1>, "b" => <2>]', |
|
hasKeyValuePair(equalTo('c'), equalTo(3)), |
|
$array |
|
); |
|
} |
|
|
|
public function testDoesNotMatchNull() |
|
{ |
|
$this->assertMismatchDescription('was null', hasKeyValuePair(anything(), anything()), null); |
|
} |
|
|
|
public function testHasReadableDescription() |
|
{ |
|
$this->assertDescription('array containing ["a" => <2>]', hasKeyValuePair(equalTo('a'), equalTo(2))); |
|
} |
|
}
|
|
|