public boolean process()
{
//validate all parameters

int i = fieldCustomer_Name.length();//1
while (i>1) //2
{ 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>1 && (Character.isLetter(char) == true || Character.isWhiteSpace(char) == true || fieldCustomer_Name.char(i-1) == ¡®/¡¯
Expected results:
? No error message
? Decrement of value i
? Return true boolean for valid credit card number

Test Path (2): for path 2

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


Test Path (3): for path 3

Variable values: i < 1
Expected results:
? Error message for empty input
? Return false boolean for invalid input