/**
  * 可通過驗證的最小值表單
  *
  * @return {@link RegisterForm}
  */
 private RegisterForm getCorrectMinForm() {
   RegisterForm form = new RegisterForm();
   form.setAccount("123456");
   form.setPassword("123456");
   form.setPasswordCheck("123456");
   form.setEmail("1");
   form.setName("1");
   return form;
 }
  /** 測試密碼長度大於20, 與回傳訊息是否正確 */
  @Test
  public void passwordLengthMoreThan20ReturnMessage() {
    RegisterForm form = getCorrectMinForm();
    form.setPassword("123456789012345678901");
    form.validate();

    List<String> errorMessageList = form.getErrorMessageList();
    Assert.assertEquals(errorMessageList.get(0), "密碼長度要介於6-20哦!");
  }
  /** 測試兩次輸入密碼不同, 與回傳訊息是否正確 */
  @Test
  public void passwordCheckNotEqualsPassword() {
    RegisterForm form = getCorrectMinForm();
    form.setPassword("123456");
    form.setPasswordCheck("1234567");
    form.validate();

    List<String> errorMessageList = form.getErrorMessageList();
    Assert.assertEquals(errorMessageList.get(0), "兩次密碼輸入不一樣哦!");
  }
  /** 正確表單驗證必定回傳true */
  @Test
  public void formIsCorrectValidateReturnTrue() {
    // 測試最小值
    RegisterForm minForm = getCorrectMinForm();
    Assert.assertEquals(minForm.validate(), true);

    // 測試最大值
    RegisterForm maxForm = new RegisterForm();
    maxForm.setAccount("12345678901234567890");
    maxForm.setPassword("12345678901234567890");
    maxForm.setPasswordCheck("12345678901234567890");
    maxForm.setEmail("1234567890123456789012345678901234567890");
    maxForm.setName("12345678901234567890");
    Assert.assertEquals(maxForm.validate(), true);
  }