Files
abap-llm/tasks_gen/train/G1139/reference/loan_test.clas.abap
2026-10-05 18:02:52 +02:00

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.