sonarrradarrplexorganizrnginxdashboardhtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelanding
		
		
		
		
			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'
							 | 
						|
								        );
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |