public boolean process()
{
//validate all parameters

int i = fieldCustomer_Name.length();
while (i>0) //1
{ if ( Character.isLetter(fieldCustomer_Name.charAt(i-1))||Character.isWhitespace(fieldCustomer_Name.charAt(i-1))|| ((char) fieldCustomer_Name.charAt(i-1)=='/') ) //2
i--; //3
else
{ errors.put("customer_name", getLocalMessage(CUSTOMER_NAME_INVALID_CHAR)); //4
break;//5
}
}

try
{ Credit_Card_Number_1AsInt = Integer.parseInt(getCredit_Card_Number_1());
Credit_Card_Number_2AsInt = Integer.parseInt(getCredit_Card_Number_2());
Credit_Card_Number_3AsInt = Integer.parseInt(getCredit_Card_Number_3());
Credit_Card_Number_4AsInt = Integer.parseInt(getCredit_Card_Number_4()); //6
}
catch (NumberFormatException ne)
{ errors.put("credit_card_number_1", getLocalMessage(CREDIT_CARD_NUMBER_INVALID_NUMBER));
errors.put("credit_card_number_2", getLocalMessage(CREDIT_CARD_NUMBER_INVALID_NUMBER));
errors.put("credit_card_number_3", getLocalMessage(CREDIT_CARD_NUMBER_INVALID_NUMBER));
errors.put("credit_card_number_4", getLocalMessage(CREDIT_CARD_NUMBER_INVALID_NUMBER));
}//7

return errors.isEmpty(); //8
}

 

Test Path (1): for path 1

Variable values: i>0 && (Character.isLetter(char) == true || Character.isWhiteSpace(char) == true || fieldCustomer_Name.char(i-1) == ¡®/¡¯
Expected results:
(1) No error message
(2) Decrement for value i
(3) Return true boolean for valid credit card number

Test Path (2): for path 2

Variable values: i>0 && (Character.isLetter(char) == false && Character.isWhiteSpace(char) == false && fieldCustomer_Name.char(i-1) != ¡®/¡¯
Expected results:
(1) Error message on customer name input
(2)Return false boolean for invalid customer name input

Test Path (3): for path 3

Variable values: i == 0 Expected results:
(1) Error message for empty input
(2)Return false boolean for invalid input