'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:----ZqAgnRidFoo0JB23ny3QpFWiS6IdgBHCkSC9J9z43WW0zl8j2BrfGjdpAry0HCTpyHNZyFyW+7vJEimidOgXmCki3LT48s/c7841r/8oK/1Gd38RlGC5/jH7SaCuWRGoQwl/W8c0l7qfRk+79v/lrwGshjahAeA44BnLd2Psu8mChDEwEFzBZwivTY8QA7fXpPdKebMuG9URm2Jn91tCddljNpQiaPKDvn6Mi53ntdiaIi02rzjghwvyLwko7OB3S9VTCvRgTk4ckvykXlvFZrL724KEJgMpV4ne9s5+3xZ8mKMj1k2q04G99AHDRJ7dX8gpmqiljU6+WO3WO2nxrlMHzT2PN8WuWOZcJHF95o4OEIq9mjGi7MqTfcmdM3IJBXc+Q4qK2aCYZLS943lXc/oljQ/YodBBTUEoUaGLu8JmnfJWQXU33e2XrjrzTlvbBEBj0DUS/ptuuOOk7yI2bzfieuDXUX4uAFnEjH8kCjLOOIVFHFm2tJgMaH201Q1gTjvIX7+4Bhia4jISmPiFaoyByXyb/5XzPWSnNDi/O1W9a19r3xCsOXbrm+2e34B5TFGfF5UDIsKeFghbUSppRUBKn4ZuJyM5MMQkhx1fSjN84PDAce7GNpajo1XhNKYK6U/gavpaIb3d88Q2eUtQrmoYjUHHfv3fDbIK++FhtD4=----ATTACHMENT:----NzY3MzM5NzA3ODQ4MDE0MiA0MTE2MTU0NzEwNjIwMzc1IDg4NTgyNTkwNjYyMTU0OTQ=