62 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace Hamcrest\Arrays;
 | |
| 
 | |
| use Hamcrest\AbstractMatcherTest;
 | |
| 
 | |
| class IsArrayContainingKeyTest extends AbstractMatcherTest
 | |
| {
 | |
| 
 | |
|     protected function createMatcher()
 | |
|     {
 | |
|         return IsArrayContainingKey::hasKeyInArray('irrelevant');
 | |
|     }
 | |
| 
 | |
|     public function testMatchesSingleElementArrayContainingKey()
 | |
|     {
 | |
|         $array = array('a'=>1);
 | |
| 
 | |
|         $this->assertMatches(hasKey('a'), $array, 'Matches single key');
 | |
|     }
 | |
| 
 | |
|     public function testMatchesArrayContainingKey()
 | |
|     {
 | |
|         $array = array('a'=>1, 'b'=>2, 'c'=>3);
 | |
| 
 | |
|         $this->assertMatches(hasKey('a'), $array, 'Matches a');
 | |
|         $this->assertMatches(hasKey('c'), $array, 'Matches c');
 | |
|     }
 | |
| 
 | |
|     public function testMatchesArrayContainingKeyWithIntegerKeys()
 | |
|     {
 | |
|         $array = array(1=>'A', 2=>'B');
 | |
| 
 | |
|         assertThat($array, hasKey(1));
 | |
|     }
 | |
| 
 | |
|     public function testMatchesArrayContainingKeyWithNumberKeys()
 | |
|     {
 | |
|         $array = array(1=>'A', 2=>'B');
 | |
| 
 | |
|         assertThat($array, hasKey(1));
 | |
| 
 | |
|         // very ugly version!
 | |
|         assertThat($array, IsArrayContainingKey::hasKeyInArray(2));
 | |
|     }
 | |
| 
 | |
|     public function testHasReadableDescription()
 | |
|     {
 | |
|         $this->assertDescription('array with key "a"', hasKey('a'));
 | |
|     }
 | |
| 
 | |
|     public function testDoesNotMatchEmptyArray()
 | |
|     {
 | |
|         $this->assertMismatchDescription('array was []', hasKey('Foo'), array());
 | |
|     }
 | |
| 
 | |
|     public function testDoesNotMatchArrayMissingKey()
 | |
|     {
 | |
|         $array = array('a'=>1, 'b'=>2, 'c'=>3);
 | |
| 
 | |
|         $this->assertMismatchDescription('array was ["a" => <1>, "b" => <2>, "c" => <3>]', hasKey('d'), $array);
 | |
|     }
 | |
| }
 |