Fix coverage with several contract classes; table annotation and file path checks; clean task dir on write

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
Kral
2026-10-03 08:44:35 +02:00
parent fb576b0954
commit 03ab36149e
388 changed files with 28620 additions and 339 deletions

View File

@@ -0,0 +1,98 @@
CLASS {{p}}t02_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
CONSTANTS:
c_score_5_0 TYPE {{p}}supplier_score=>ty_score VALUE '5.0',
c_score_0_0 TYPE {{p}}supplier_score=>ty_score VALUE '0.0',
c_score_4_5 TYPE {{p}}supplier_score=>ty_score VALUE '4.5',
c_score_3_5 TYPE {{p}}supplier_score=>ty_score VALUE '3.5',
c_score_2_5 TYPE {{p}}supplier_score=>ty_score VALUE '2.5',
c_score_1_9 TYPE {{p}}supplier_score=>ty_score VALUE '1.9',
c_score_1_4 TYPE {{p}}supplier_score=>ty_score VALUE '1.4',
c_score_3_7 TYPE {{p}}supplier_score=>ty_score VALUE '3.7',
c_grade_a TYPE {{p}}supplier_score=>ty_grade VALUE 'A',
c_grade_b TYPE {{p}}supplier_score=>ty_grade VALUE 'B',
c_grade_c TYPE {{p}}supplier_score=>ty_grade VALUE 'C',
c_grade_d TYPE {{p}}supplier_score=>ty_grade VALUE 'D',
c_grade_e TYPE {{p}}supplier_score=>ty_grade VALUE 'E',
c_grade_x TYPE {{p}}supplier_score=>ty_grade VALUE 'X'.
DATA mo_cut TYPE REF TO {{p}}supplier_score.
METHODS setup.
METHODS perfect_supplier FOR TESTING.
METHODS quality_one_blocks FOR TESTING.
METHODS rating_below_range FOR TESTING.
METHODS rating_above_range FOR TESTING.
METHODS grade_a_boundary FOR TESTING.
METHODS rounds_up_to_b FOR TESTING.
METHODS grade_c_boundary FOR TESTING.
METHODS grade_d FOR TESTING.
METHODS grade_e FOR TESTING.
METHODS weights_quality FOR TESTING.
ENDCLASS.
CLASS {{p}}t02_hidden IMPLEMENTATION.
METHOD setup.
mo_cut = NEW {{p}}supplier_score( ).
ENDMETHOD.
METHOD perfect_supplier.
DATA(ls_result) = mo_cut->evaluate( iv_price = 5 iv_quality = 5 iv_delivery = 5 ).
cl_abap_unit_assert=>assert_equals( exp = c_score_5_0 act = ls_result-score ).
cl_abap_unit_assert=>assert_equals( exp = c_grade_a act = ls_result-grade ).
ENDMETHOD.
METHOD quality_one_blocks.
DATA(ls_result) = mo_cut->evaluate( iv_price = 5 iv_quality = 1 iv_delivery = 5 ).
cl_abap_unit_assert=>assert_equals( exp = c_score_0_0 act = ls_result-score ).
cl_abap_unit_assert=>assert_equals( exp = c_grade_x act = ls_result-grade ).
ENDMETHOD.
METHOD rating_below_range.
DATA(ls_result) = mo_cut->evaluate( iv_price = 0 iv_quality = 3 iv_delivery = 3 ).
cl_abap_unit_assert=>assert_equals( exp = c_score_0_0 act = ls_result-score ).
cl_abap_unit_assert=>assert_equals( exp = c_grade_x act = ls_result-grade ).
ENDMETHOD.
METHOD rating_above_range.
DATA(ls_result) = mo_cut->evaluate( iv_price = 3 iv_quality = 3 iv_delivery = 6 ).
cl_abap_unit_assert=>assert_equals( exp = c_score_0_0 act = ls_result-score ).
cl_abap_unit_assert=>assert_equals( exp = c_grade_x act = ls_result-grade ).
ENDMETHOD.
METHOD grade_a_boundary.
DATA(ls_result) = mo_cut->evaluate( iv_price = 5 iv_quality = 5 iv_delivery = 3 ).
cl_abap_unit_assert=>assert_equals( exp = c_score_4_5 act = ls_result-score ).
cl_abap_unit_assert=>assert_equals( exp = c_grade_a act = ls_result-grade ).
ENDMETHOD.
METHOD rounds_up_to_b.
DATA(ls_result) = mo_cut->evaluate( iv_price = 5 iv_quality = 2 iv_delivery = 3 ).
cl_abap_unit_assert=>assert_equals( exp = c_score_3_5 act = ls_result-score ).
cl_abap_unit_assert=>assert_equals( exp = c_grade_b act = ls_result-grade ).
ENDMETHOD.
METHOD grade_c_boundary.
DATA(ls_result) = mo_cut->evaluate( iv_price = 2 iv_quality = 2 iv_delivery = 4 ).
cl_abap_unit_assert=>assert_equals( exp = c_score_2_5 act = ls_result-score ).
cl_abap_unit_assert=>assert_equals( exp = c_grade_c act = ls_result-grade ).
ENDMETHOD.
METHOD grade_d.
DATA(ls_result) = mo_cut->evaluate( iv_price = 1 iv_quality = 2 iv_delivery = 3 ).
cl_abap_unit_assert=>assert_equals( exp = c_score_1_9 act = ls_result-score ).
cl_abap_unit_assert=>assert_equals( exp = c_grade_d act = ls_result-grade ).
ENDMETHOD.
METHOD grade_e.
DATA(ls_result) = mo_cut->evaluate( iv_price = 1 iv_quality = 2 iv_delivery = 1 ).
cl_abap_unit_assert=>assert_equals( exp = c_score_1_4 act = ls_result-score ).
cl_abap_unit_assert=>assert_equals( exp = c_grade_e act = ls_result-grade ).
ENDMETHOD.
METHOD weights_quality.
DATA(ls_result) = mo_cut->evaluate( iv_price = 3 iv_quality = 5 iv_delivery = 3 ).
cl_abap_unit_assert=>assert_equals( exp = c_score_3_7 act = ls_result-score ).
cl_abap_unit_assert=>assert_equals( exp = c_grade_b act = ls_result-grade ).
ENDMETHOD.
ENDCLASS.