AuthenticationUtil { public static void authenticate(String userId, String password) throws AuthenticationFailedException, UserIdLockedException, PasswordExpiredException { PasswordAuthenticator authenticator = SystemRepository.get(AUTHENTICATOR); authenticator.authenticate(userId, password); } private  AuthenticationUtil(); static String encryptPassword(String userId, String password); static void authenticate(String userId, String password);  }
@Test public void testAuthenticate() { MockAuthenticator sut = SystemRepository.get("authenticator"); sut.called(1); sut.calledWith("userId", "password"); AuthenticationUtil.authenticate("userId", "password"); sut.verify("1度だけ呼び出され、引数がそのままauthenticatorに渡されていること。"); }