92 lines
2.4 KiB
ABAP
92 lines
2.4 KiB
ABAP
CLASS {{p}}loan_test DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
|
PRIVATE SECTION.
|
|
METHODS check
|
|
IMPORTING
|
|
iv_fragile TYPE abap_bool
|
|
iv_insured TYPE abap_bool
|
|
iv_days TYPE i
|
|
EXPORTING
|
|
ev_approved TYPE abap_bool
|
|
ev_reason TYPE string
|
|
ev_subrc TYPE sysubrc.
|
|
METHODS invalid_days FOR TESTING.
|
|
METHODS too_long FOR TESTING.
|
|
METHODS insured_approved FOR TESTING.
|
|
METHODS fragile_rejected FOR TESTING.
|
|
METHODS plain_approved FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}loan_test IMPLEMENTATION.
|
|
METHOD check.
|
|
CALL FUNCTION '{{P}}LOAN_CHECK'
|
|
EXPORTING
|
|
iv_fragile = iv_fragile
|
|
iv_insured = iv_insured
|
|
iv_days = iv_days
|
|
IMPORTING
|
|
ev_approved = ev_approved
|
|
ev_reason = ev_reason
|
|
EXCEPTIONS
|
|
invalid_days = 1
|
|
OTHERS = 2.
|
|
ev_subrc = sy-subrc.
|
|
ENDMETHOD.
|
|
|
|
METHOD invalid_days.
|
|
check(
|
|
EXPORTING
|
|
iv_days = 0
|
|
IMPORTING
|
|
ev_subrc = DATA(lv_rc) ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_rc ).
|
|
ENDMETHOD.
|
|
|
|
METHOD too_long.
|
|
check(
|
|
EXPORTING
|
|
iv_days = 100
|
|
IMPORTING
|
|
ev_approved = DATA(lv_approved)
|
|
ev_reason = DATA(lv_reason) ).
|
|
cl_abap_unit_assert=>assert_false( lv_approved ).
|
|
cl_abap_unit_assert=>assert_equals( exp = `TOO_LONG` act = lv_reason ).
|
|
ENDMETHOD.
|
|
|
|
METHOD insured_approved.
|
|
check(
|
|
EXPORTING
|
|
iv_insured = abap_true
|
|
iv_days = 30
|
|
IMPORTING
|
|
ev_approved = DATA(lv_approved)
|
|
ev_reason = DATA(lv_reason) ).
|
|
cl_abap_unit_assert=>assert_true( lv_approved ).
|
|
cl_abap_unit_assert=>assert_equals( exp = `INSURED` act = lv_reason ).
|
|
ENDMETHOD.
|
|
|
|
METHOD fragile_rejected.
|
|
check(
|
|
EXPORTING
|
|
iv_fragile = abap_true
|
|
iv_days = 30
|
|
IMPORTING
|
|
ev_approved = DATA(lv_approved)
|
|
ev_reason = DATA(lv_reason) ).
|
|
cl_abap_unit_assert=>assert_false( lv_approved ).
|
|
cl_abap_unit_assert=>assert_equals( exp = `FRAGILE` act = lv_reason ).
|
|
ENDMETHOD.
|
|
|
|
METHOD plain_approved.
|
|
check(
|
|
EXPORTING
|
|
iv_days = 30
|
|
IMPORTING
|
|
ev_approved = DATA(lv_approved)
|
|
ev_reason = DATA(lv_reason) ).
|
|
cl_abap_unit_assert=>assert_true( lv_approved ).
|
|
cl_abap_unit_assert=>assert_equals( exp = `OK` act = lv_reason ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|