Files
abap-llm/tasks/T01/reference/iban_validator.testclasses.abap

49 lines
1.8 KiB
ABAP

CLASS ltc_iban_validator DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
DATA mo_cut TYPE REF TO {{p}}if_iban_check.
METHODS setup.
METHODS valid_iban_is_ok FOR TESTING.
METHODS empty_input FOR TESTING.
METHODS invalid_character FOR TESTING.
METHODS unknown_country FOR TESTING.
METHODS wrong_length FOR TESTING.
METHODS wrong_checksum FOR TESTING.
ENDCLASS.
CLASS ltc_iban_validator IMPLEMENTATION.
METHOD setup.
mo_cut = NEW {{p}}iban_validator( ).
ENDMETHOD.
METHOD valid_iban_is_ok.
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_iban_check=>c_reason-ok
act = mo_cut->check( `GB82 WEST 1234 5698 7654 32` ) ).
ENDMETHOD.
METHOD empty_input.
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_iban_check=>c_reason-empty
act = mo_cut->check( ` ` ) ).
ENDMETHOD.
METHOD invalid_character.
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_iban_check=>c_reason-chars
act = mo_cut->check( `DE89*370400440532013000` ) ).
ENDMETHOD.
METHOD unknown_country.
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_iban_check=>c_reason-country
act = mo_cut->check( `US89370400440532013000` ) ).
ENDMETHOD.
METHOD wrong_length.
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_iban_check=>c_reason-length
act = mo_cut->check( `NL91ABNA041716430` ) ).
ENDMETHOD.
METHOD wrong_checksum.
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_iban_check=>c_reason-checksum
act = mo_cut->check( `GB82 WEST 1234 5698 7654 33` ) ).
ENDMETHOD.
ENDCLASS.