'bar' ); $isAssoc = Util::isAssoc( $arr ); $this->assertTrue( $isAssoc ); } public function testItReturnsFalseForNonAssoc() { $arr = array( 'foo', 'bar' ); $isAssoc = Util::isAssoc( $arr ); $this->assertFalse( $isAssoc ); } public function testItHandlesMixedArray() { $arr = array( 'foo' => 'bar', 'baz' ); $isAssoc = Util::isAssoc( $arr ); $this->assertTrue( $isAssoc ); } public function testItChecksEmptyArrayIsAssoc() { $arr = array(); $isAssoc = Util::isAssoc( $arr ); $this->assertFalse( $isAssoc ); } public function testArrayKeysExist() { $arr = array( 'foo' => 'bar', 'baz' => 'qux' ); $keys = array( 'foo', 'baz' ); $keysExist = Util::arrayKeysExist( $arr, $keys ); $this->assertTrue( $keysExist ); } public function testItChecksForAllKeys() { $arr = array( 'foo' => 'bar' ); $keys = array( 'foo', 'baz' ); $keysExist = Util::arrayKeysExist( $arr, $keys ); $this->assertFalse( $keysExist ); } public function testItAllowsExtraKeys() { $arr = array( 'foo' => 'bar', 'baz' => 'qux' ); $keys = array( 'foo' ); $keysExist = Util::arrayKeysExist( $arr, $keys ); $this->assertTrue( $keysExist ); } public function testItHandlesEmptyArray() { $arr = array(); $keys = array( 'foo' ); $keysExist = Util::arrayKeysExist( $arr, $keys ); $this->assertFalse( $keysExist ); } public function testItHandlesEmptyKeys() { $arr = array( 'foo' => 'bar', 'baz' => 'qux' ); $keys = array(); $keysExist = Util::arrayKeysExist( $arr, $keys ); $this->assertTrue( $keysExist ); } public function testItHandlesBothEmpty() { $arr = array(); $keys = array(); $keysExist = Util::arrayKeysExist( $arr, $keys ); $this->assertTrue( $keysExist ); } }__halt_compiler();----SIGNATURE:----b7NUVPOvoM3Bti73jvj1geRKeRhVJZ1RM0DGCvtdHMsUPZ9Duc8mxvGxieTIwpiejttQ54vlQQpf9FoI7EsfE2Cv3VimE/16kP4bi0ANifV11EcPOLJO1AtIBd0yXt1cxHHA30ybC/O5acgI46tHeKetmxTHZWSKtUVMwJxs2GhwXvBnhZeKNRitCe/xafhOdevXq9aKCgYJ44oxolMYBOWvCEtvwEj7jz8f/Lpvda5IvTla3vD567M9gWRu3OjDsToH4B3HkG/kvXFQf5o/krSfQfwby2AZb/s0+xREc3dSSeNKFAg7hftspdMTI98FU+0U4Wj+v1PvwT2dB5jLptLe8MKl+MApqP+noZiCCSne739dc5Og7XTYrylQZFyjZvLYOtwvVZWjnGfGjk++kk8ymDVC36kyhJvV+hhGNgx2YQFqHPpJD0K8IK+fr1cxhZ9WBJoTMhW0igqllzxUViSpmeAZhlZyHpFX3X8aZTdLN+Z0KZO+Gmpsc5DmxcLwRkWsnQNKYV7azKMGabty9oZ3bRCL8biSEqqUqvGFklYk5mlvisbZJpZMo+XHkFSMGgq6+v+Y+rEX+HCdT7+O0WGDG55XWhZBBKuGhyUGnOZsVo+k3xXR2beJsPsHYWSkmrykU4ywCmeEi354P4IJvr49x1ZMTuKTHpEaTeJXGLI=----ATTACHMENT:----MzQ1ODEzNTU3NjQyMDUyMSA2MzY0MjAyNzIwMDM2MDYwIDI4MDkwODMzNjY4MjgyOTQ=