### Question:
KerberosOperationHandler { public void setExecutableSearchPaths(String[] executableSearchPaths) { this.executableSearchPaths = executableSearchPaths; }  void open(PrincipalKeyCredential administratorCredential, String defaultRealm, Map<String, String> kerberosConfiguration); void close(); abstract boolean principalExists(String principal, boolean service); abstract Integer createPrincipal(String principal, String password, boolean service); abstract Integer setPrincipalPassword(String principal, String password, boolean service); abstract boolean removePrincipal(String principal, boolean service); boolean testAdministratorCredentials(); boolean createKeytabFile(Keytab keytab, File destinationKeytabFile); PrincipalKeyCredential getAdministratorCredential(); void setAdministratorCredential(PrincipalKeyCredential administratorCredential); String getDefaultRealm(); void setDefaultRealm(String defaultRealm); Set<EncryptionType> getKeyEncryptionTypes(); void setKeyEncryptionTypes(Set<EncryptionType> keyEncryptionTypes); String[] getExecutableSearchPaths(); void setExecutableSearchPaths(String[] executableSearchPaths); void setExecutableSearchPaths(String delimitedExecutableSearchPaths); boolean isOpen(); void setOpen(boolean open); final static String KERBEROS_ENV_LDAP_URL; final static String KERBEROS_ENV_PRINCIPAL_CONTAINER_DN; final static String KERBEROS_ENV_USER_PRINCIPAL_GROUP; final static String KERBEROS_ENV_AD_CREATE_ATTRIBUTES_TEMPLATE; final static String KERBEROS_ENV_KDC_CREATE_ATTRIBUTES; final static String KERBEROS_ENV_ENCRYPTION_TYPES; final static String KERBEROS_ENV_KDC_HOSTS; final static String KERBEROS_ENV_ADMIN_SERVER_HOST; final static String KERBEROS_ENV_KADMIN_PRINCIPAL_NAME; final static String KERBEROS_ENV_EXECUTABLE_SEARCH_PATHS; }### Answer:
@Test public void testSetExecutableSearchPaths() throws KerberosOperationException { KerberosOperationHandler handler = createHandler(); handler.setExecutableSearchPaths((String) null); Assert.assertNull(handler.getExecutableSearchPaths()); handler.setExecutableSearchPaths((String[]) null); Assert.assertNull(handler.getExecutableSearchPaths()); handler.setExecutableSearchPaths(""); Assert.assertNotNull(handler.getExecutableSearchPaths()); Assert.assertEquals(0, handler.getExecutableSearchPaths().length); handler.setExecutableSearchPaths(new String[0]); Assert.assertNotNull(handler.getExecutableSearchPaths()); Assert.assertEquals(0, handler.getExecutableSearchPaths().length); handler.setExecutableSearchPaths(new String[]{""}); Assert.assertNotNull(handler.getExecutableSearchPaths()); Assert.assertEquals(1, handler.getExecutableSearchPaths().length); handler.setExecutableSearchPaths("/path1, path2, path3/"); Assert.assertNotNull(handler.getExecutableSearchPaths()); Assert.assertEquals(3, handler.getExecutableSearchPaths().length); Assert.assertEquals("/path1", handler.getExecutableSearchPaths()[0]); Assert.assertEquals("path2", handler.getExecutableSearchPaths()[1]); Assert.assertEquals("path3/", handler.getExecutableSearchPaths()[2]); handler.setExecutableSearchPaths("/path1, path2, ,path3/"); Assert.assertNotNull(handler.getExecutableSearchPaths()); Assert.assertEquals(3, handler.getExecutableSearchPaths().length); Assert.assertEquals("/path1", handler.getExecutableSearchPaths()[0]); Assert.assertEquals("path2", handler.getExecutableSearchPaths()[1]); Assert.assertEquals("path3/", handler.getExecutableSearchPaths()[2]); handler.setExecutableSearchPaths(new String[]{"/path1", "path2", "path3/"}); Assert.assertNotNull(handler.getExecutableSearchPaths()); Assert.assertEquals(3, handler.getExecutableSearchPaths().length); Assert.assertEquals("/path1", handler.getExecutableSearchPaths()[0]); Assert.assertEquals("path2", handler.getExecutableSearchPaths()[1]); Assert.assertEquals("path3/", handler.getExecutableSearchPaths()[2]); }