anchor.diff:  	 * @throws Exception
   	 *             the exception
   	 */
  +	
   	public void function testRemoveUser() {
   		newJava("java.lang.System").out.println("removeUser");
   		local.accountName = instance.ESAPI.randomizer().getRandomString(8, newJava("org.owasp.esapi.reference.DefaultEncoder").CHAR_ALPHANUMERICS);
  -        local.authenticator = instance.ESAPI.authenticator();
  +		local.authenticator = instance.ESAPI.authenticator();
   		local.password = local.authenticator.generateStrongPassword();
   		local.authenticator.createUser(local.accountName, local.password, local.password);
  -		assertTrue( local.authenticator.exists(local.accountName));
  +		assertTrue(local.authenticator.exists(local.accountName));
   		local.authenticator.removeUser(local.accountName);
  -		assertFalse( local.authenticator.exists(local.accountName));
  -	}
  -
  +		assertFalse(local.authenticator.exists(local.accountName));
  +	}
  +	
   	/**
   	 * Test of saveUsers method, of class org.owasp.esapi.Authenticator.
   	 * 
   	 * @throws Exception
   	 *             the exception
   	 */
  +	
   	public void function testSaveUsers() {
   		newJava("java.lang.System").out.println("saveUsers");
   		local.accountName = instance.ESAPI.randomizer().getRandomString(8, newJava("org.owasp.esapi.reference.DefaultEncoder").CHAR_ALPHANUMERICS);
  -        local.authenticator = instance.ESAPI.authenticator();
  +		local.authenticator = instance.ESAPI.authenticator();
   		local.password = local.authenticator.generateStrongPassword();
   		local.authenticator.createUser(local.accountName, local.password, local.password);
   		local.authenticator.saveUsers();
  -		assertTrue( isObject(local.authenticator.getUserByAccountName(local.accountName)) );
  +		assertTrue(isObject(local.authenticator.getUserByAccountName(local.accountName)));
   		local.authenticator.removeUser(local.accountName);
  -		assertFalse( isObject(local.authenticator.getUserByAccountName(local.accountName)) );
  -	}
  -
  +		assertFalse(isObject(local.authenticator.getUserByAccountName(local.accountName)));
  +	}
   	
   	/**
   	 * Test of setCurrentUser method, of class org.owasp.esapi.Authenticator.
  
positive.code: 		local.password = local.authenticator.generateStrongPassword();
  		local.user = local.authenticator.createUser(local.accountName, local.password, local.password);
  		assertTrue(local.user.verifyPassword(local.password));
          try {
              local.authenticator.createUser(local.accountName, local.password, local.password); // duplicate user
              fail();
          } catch (cfesapi.org.owasp.esapi.errors.AuthenticationAccountsException e) {
              // success
          }
          try {
              local.authenticator.createUser(instance.ESAPI.randomizer().getRandomString(8, newJava("org.owasp.esapi.reference.DefaultEncoder").CHAR_ALPHANUMERICS), "password1", "password2"); // don't match
              fail();
          } catch (cfesapi.org.owasp.esapi.errors.AuthenticationCredentialsException e) {
              // success
          }
          try {
              local.authenticator.createUser(instance.ESAPI.randomizer().getRandomString(8, newJava("org.owasp.esapi.reference.DefaultEncoder").CHAR_ALPHANUMERICS), "weak1", "weak1");  // weak password
              fail();
          } catch (cfesapi.org.owasp.esapi.errors.AuthenticationCredentialsException e) {
              // success
          }
          try {
              local.authenticator.createUser("", "weak1", "weak1");  // null username
              fail();
          } catch (cfesapi.org.owasp.esapi.errors.AuthenticationAccountsException e) {
              // success
          }
          try {
              local.authenticator.createUser(instance.ESAPI.randomizer().getRandomString(8, newJava("org.owasp.esapi.reference.DefaultEncoder").CHAR_ALPHANUMERICS), "", "");  // null password
              fail();
          } catch (cfesapi.org.owasp.esapi.errors.AuthenticationCredentialsException e) {
              // success
          }
          try {
          	local.uName = "ea234kEknr";	//sufficiently random password that also works as a username
              local.authenticator.createUser(local.uName, local.uName, local.uName);  // using username as password
              fail();
          } catch (cfesapi.org.owasp.esapi.errors.AuthenticationCredentialsException e) {
              // success
          }
  	}
  
  	/**
  	 * Test of generateStrongPassword method, of class
  	 * org.owasp.esapi.Authenticator.
  
negative.code: 		local.request.addParameter("username", local.accountName);
  		local.request.addParameter("password", local.password);
  		local.response = new cfesapi.test.org.owasp.esapi.http.MockHttpServletResponse();
  		instance.ESAPI.httpUtilities().setCurrentHTTP(local.request, local.response);
  		local.authenticator.login(local.request, local.response);
  		local.test = local.authenticator.getUserFromSession();
  		assertEquals(local.user, local.test);
  	}
  	
  	/**
  	 * Test get user names.
  	 * 
  	 * @throws AuthenticationException
  	 *             the authentication exception
  	 */
  	
  	public void function testGetUserNames() {
  		newJava("java.lang.System").out.println("getUserNames");
  		local.authenticator = instance.ESAPI.authenticator();
  		local.password = local.authenticator.generateStrongPassword();
  		local.testnames = ["", "", "", "", "", "", "", "", "", ""];
  		for(local.i = 1; local.i <= arrayLen(local.testnames); local.i++) {
  			local.testnames[local.i] = instance.ESAPI.randomizer().getRandomString(8, newJava("org.owasp.esapi.reference.DefaultEncoder").CHAR_ALPHANUMERICS);
  		}
  		for(local.i = 1; local.i <= arrayLen(local.testnames); local.i++) {
  			local.authenticator.createUser(local.testnames[local.i], local.password, local.password);
  		}
  		local.names = local.authenticator.getUserNames();
  		for(local.i = 1; local.i <= arrayLen(local.testnames); local.i++) {
  			assertTrue(local.names.contains(local.testnames[local.i].toLowerCase()));
  		}
  	}
  	
  	/**
  	 * Test of hashPassword method, of class org.owasp.esapi.Authenticator.
  	 *
  	 * @throws EncryptionException
  	 */
  	
  	public void function testHashPassword() {
  		newJava("java.lang.System").out.println("hashPassword");
  		local.username = "Jeff";
  		local.password = "test";
  		local.authenticator = instance.ESAPI.authenticator();
  		local.result1 = local.authenticator.hashPassword(local.password, local.username);
  		local.result2 = local.authenticator.hashPassword(local.password, local.username);
  		assertTrue(local.result1.equals(local.result2));
  	}
  	
  	/**
  	 * Test of login method, of class org.owasp.esapi.Authenticator.
  	 * 
  	 * @throws AuthenticationException
  	 *             the authentication exception
  	 */
  	
  	public void function testLogin() {
  		newJava("java.lang.System").out.println("login");
  		local.authenticator = instance.ESAPI.authenticator();
  		local.username = instance.ESAPI.randomizer().getRandomString(8, newJava("org.owasp.esapi.reference.DefaultEncoder").CHAR_ALPHANUMERICS);
  		local.password = local.authenticator.generateStrongPassword();
  		local.user = local.authenticator.createUser(local.username, local.password, local.password);
  		local.user.enable();
  