| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | <?phpnamespace 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);    }}
 |