Pipeline controller: plan 2 (hard +, error +50 %), backlog throttle, 2 trajectory workers, stop rules, summaries every 50; budget reserve

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Kral
2026-10-05 13:35:54 +02:00
parent 1c4667a0fc
commit 13360292dd
781 changed files with 50211 additions and 22 deletions

View File

@@ -0,0 +1,72 @@
CLASS ltc_bowling_fee DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
CONSTANTS:
c_48_00 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '48.00',
c_129_60 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '129.60',
c_96_00 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '96.00',
c_288_00 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '288.00',
c_55_50 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '55.50',
c_134_60 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '134.60',
c_0_00 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '0.00'.
DATA mo_cut TYPE REF TO {{p}}if_bowling_fee.
METHODS setup.
METHODS lane_fee_only FOR TESTING.
METHODS group_discount FOR TESTING.
METHODS large_discount FOR TESTING.
METHODS group_and_large FOR TESTING.
METHODS shoes_are_added FOR TESTING.
METHODS shoes_never_discounted FOR TESTING.
METHODS zero_lanes FOR TESTING.
ENDCLASS.
CLASS ltc_bowling_fee IMPLEMENTATION.
METHOD setup.
mo_cut = NEW {{p}}bowling_fee( ).
ENDMETHOD.
METHOD lane_fee_only.
cl_abap_unit_assert=>assert_equals(
exp = c_48_00
act = mo_cut->calculate_fee( iv_lanes = 2 iv_hours = 2 iv_shoes = 0 ) ).
ENDMETHOD.
METHOD group_discount.
cl_abap_unit_assert=>assert_equals(
exp = c_129_60
act = mo_cut->calculate_fee( iv_lanes = 6 iv_hours = 2 iv_shoes = 0 ) ).
ENDMETHOD.
METHOD large_discount.
cl_abap_unit_assert=>assert_equals(
exp = c_96_00
act = mo_cut->calculate_fee( iv_lanes = 2 iv_hours = 5 iv_shoes = 0 ) ).
ENDMETHOD.
METHOD group_and_large.
" The large discount replaces the group discount.
cl_abap_unit_assert=>assert_equals(
exp = c_288_00
act = mo_cut->calculate_fee( iv_lanes = 6 iv_hours = 5 iv_shoes = 0 ) ).
ENDMETHOD.
METHOD shoes_are_added.
cl_abap_unit_assert=>assert_equals(
exp = c_55_50
act = mo_cut->calculate_fee( iv_lanes = 2 iv_hours = 2 iv_shoes = 3 ) ).
ENDMETHOD.
METHOD shoes_never_discounted.
cl_abap_unit_assert=>assert_equals(
exp = c_134_60
act = mo_cut->calculate_fee( iv_lanes = 6 iv_hours = 2 iv_shoes = 2 ) ).
ENDMETHOD.
METHOD zero_lanes.
cl_abap_unit_assert=>assert_equals(
exp = c_0_00
act = mo_cut->calculate_fee( iv_lanes = 0 iv_hours = 2 iv_shoes = 0 ) ).
ENDMETHOD.
ENDCLASS.