'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:----bPLWwxdLwALqwtqRvWFfLCFrYdiRQ26QeOJGsZE7WUtSQwYrHgVxoXjXMDFfffcehx1DYD+1yS3gYDYmuQeAqrY2aknOLQJh24Ac/8w01fFQyTfj2AZy7colDLWVTt9EOQuL+gQuUH50/s3yttMGuAg5qu6a0f99Ti/xsTyzL2OBfstfPTrcH8LUG36IUt8kPcfCEcxwwhSj2kWVMY7PRr1ejExtLgWErKLzjSvTqmvKR/qSDBfX9qmfkEK6PWEJoByO3/4+IVOC9Qs0RUUtTQEtXP37dRxvewmK1aEiHbJM9k+7ZlBNM20FBa1aGM+f8tc12XbQXSQVidjskkifEF9qtm8C3We3BjJz+BxMdU01ayjWL1cOhlkx5I5B3eyAiyXzgNisq9MgFv6I22702BwXw7VtJa+JadRa+G6V7WaIVVmtGokURrpjGmkSbhDKiYnsazyufUpBQZysPucZChhqvROK32TFgESUbSIxr4D+Ge6+2EGO+SOTkM30rFVNGe7VSHOm7ompT++L9/uuyk7EgoUUXxflEWTDXNYAn7U44m+jLF97Wufyk9kkp1ucatgmh9sB7KIDsVH9cLimjhTKng674LL0i+kTj6L5RdK9KRxTc3dwbADOaIXYm+YNwFqX4Un6imht/mWsmuNgJZQpFnVpiAQbOWvdu0nxOMk=----ATTACHMENT:----NzcyMDA2NDI3MDg4MzM2OCA5NDc1NDU0NjY5OTYzMjcwIDU0NTk4NzU3MTQyOTMwNzA=