nginxsonarrradarrplexorganizrdashboardbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbget
		
		
		
		
			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.
		
		
		
		
		
			
		
			
				
					
					
						
							89 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							89 lines
						
					
					
						
							2.4 KiB
						
					
					
				| <?php | |
| namespace Hamcrest\Arrays; | |
| 
 | |
| use Hamcrest\AbstractMatcherTest; | |
| 
 | |
| class IsArrayTest extends AbstractMatcherTest | |
| { | |
| 
 | |
|     protected function createMatcher() | |
|     { | |
|         return IsArray::anArray(array(equalTo('irrelevant'))); | |
|     } | |
| 
 | |
|     public function testMatchesAnArrayThatMatchesAllTheElementMatchers() | |
|     { | |
|         $this->assertMatches( | |
|             anArray(array(equalTo('a'), equalTo('b'), equalTo('c'))), | |
|             array('a', 'b', 'c'), | |
|             'should match array with matching elements' | |
|         ); | |
|     } | |
| 
 | |
|     public function testDoesNotMatchAnArrayWhenElementsDoNotMatch() | |
|     { | |
|         $this->assertDoesNotMatch( | |
|             anArray(array(equalTo('a'), equalTo('b'))), | |
|             array('b', 'c'), | |
|             'should not match array with different elements' | |
|         ); | |
|     } | |
| 
 | |
|     public function testDoesNotMatchAnArrayOfDifferentSize() | |
|     { | |
|         $this->assertDoesNotMatch( | |
|             anArray(array(equalTo('a'), equalTo('b'))), | |
|             array('a', 'b', 'c'), | |
|             'should not match larger array' | |
|         ); | |
|         $this->assertDoesNotMatch( | |
|             anArray(array(equalTo('a'), equalTo('b'))), | |
|             array('a'), | |
|             'should not match smaller array' | |
|         ); | |
|     } | |
| 
 | |
|     public function testDoesNotMatchNull() | |
|     { | |
|         $this->assertDoesNotMatch( | |
|             anArray(array(equalTo('a'))), | |
|             null, | |
|             'should not match null' | |
|         ); | |
|     } | |
| 
 | |
|     public function testHasAReadableDescription() | |
|     { | |
|         $this->assertDescription( | |
|             '["a", "b"]', | |
|             anArray(array(equalTo('a'), equalTo('b'))) | |
|         ); | |
|     } | |
| 
 | |
|     public function testHasAReadableMismatchDescriptionWhenKeysDontMatch() | |
|     { | |
|         $this->assertMismatchDescription( | |
|             'array keys were [<1>, <2>]', | |
|             anArray(array(equalTo('a'), equalTo('b'))), | |
|             array(1 => 'a', 2 => 'b') | |
|         ); | |
|     } | |
| 
 | |
|     public function testSupportsMatchesAssociativeArrays() | |
|     { | |
|         $this->assertMatches( | |
|             anArray(array('x'=>equalTo('a'), 'y'=>equalTo('b'), 'z'=>equalTo('c'))), | |
|             array('x'=>'a', 'y'=>'b', 'z'=>'c'), | |
|             'should match associative array with matching elements' | |
|         ); | |
|     } | |
| 
 | |
|     public function testDoesNotMatchAnAssociativeArrayWhenKeysDoNotMatch() | |
|     { | |
|         $this->assertDoesNotMatch( | |
|             anArray(array('x'=>equalTo('a'), 'y'=>equalTo('b'))), | |
|             array('x'=>'b', 'z'=>'c'), | |
|             'should not match array with different keys' | |
|         ); | |
|     } | |
| }
 | |
| 
 |