Harness: runner, generator, tasks T01 T13 T14 T15, CLAUDE.md

This commit is contained in:
Kral
2026-10-02 21:42:51 +02:00
commit 1c6c85492e
54 changed files with 3732 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
CLASS {{p}}t13_test DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS fee_for IMPORTING iv_type TYPE string iv_amount TYPE decfloat34
RETURNING VALUE(rv_fee) TYPE decfloat34.
METHODS invoice_fee FOR TESTING.
METHODS fee_limits FOR TESTING.
METHODS credit_memo FOR TESTING.
METHODS negative_amount FOR TESTING.
ENDCLASS.
CLASS {{p}}t13_test IMPLEMENTATION.
METHOD fee_for.
DATA lv_skip TYPE abap_bool.
CALL FUNCTION '{{P}}EVT_FEE'
EXPORTING iv_doc_type = iv_type iv_amount = iv_amount
IMPORTING ev_skip = lv_skip
CHANGING cv_fee = rv_fee
EXCEPTIONS invalid_amount = 1 OTHERS = 2.
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
ENDMETHOD.
METHOD invoice_fee.
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 4 ) act = fee_for( iv_type = `IN` iv_amount = 200 ) ).
ENDMETHOD.
METHOD fee_limits.
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 1 ) act = fee_for( iv_type = `IN` iv_amount = 5 ) ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 50 ) act = fee_for( iv_type = `IN` iv_amount = 9000 ) ).
ENDMETHOD.
METHOD credit_memo.
DATA lv_skip TYPE abap_bool.
DATA lv_fee TYPE decfloat34 VALUE 3.
CALL FUNCTION '{{P}}EVT_FEE'
EXPORTING iv_doc_type = `CR` iv_amount = 100
IMPORTING ev_skip = lv_skip
CHANGING cv_fee = lv_fee.
cl_abap_unit_assert=>assert_true( lv_skip ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 3 ) act = lv_fee ).
ENDMETHOD.
METHOD negative_amount.
DATA lv_fee TYPE decfloat34.
CALL FUNCTION '{{P}}EVT_FEE'
EXPORTING iv_doc_type = `IN` iv_amount = -5
CHANGING cv_fee = lv_fee
EXCEPTIONS invalid_amount = 1 OTHERS = 2.
cl_abap_unit_assert=>assert_equals( exp = 1 act = sy-subrc ).
ENDMETHOD.
ENDCLASS.