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,65 @@
CLASS ltc_skip_hire_calc DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
DATA mo_cut TYPE REF TO {{p}}skip_hire_calc.
METHODS setup.
METHODS minimum_charge_applies FOR TESTING.
METHODS extra_days_are_charged FOR TESTING.
METHODS hazardous_and_permit FOR TESTING.
METHODS bulk_discount FOR TESTING.
METHODS invalid_rows_are_free FOR TESTING.
ENDCLASS.
CLASS ltc_skip_hire_calc IMPLEMENTATION.
METHOD setup.
mo_cut = NEW {{p}}skip_hire_calc( ).
ENDMETHOD.
METHOD minimum_charge_applies.
DATA(lt_containers) = VALUE {{p}}skip_hire_calc=>tt_containers(
( size = 'SMALL' days = 1 hazardous = abap_false permit = abap_false ) ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}skip_hire_calc=>ty_amount( '120.00' )
act = mo_cut->hire_charge( lt_containers ) ).
ENDMETHOD.
METHOD extra_days_are_charged.
DATA(lt_containers) = VALUE {{p}}skip_hire_calc=>tt_containers(
( size = 'MEDIUM' days = 10 hazardous = abap_false permit = abap_false ) ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}skip_hire_calc=>ty_amount( '176.00' )
act = mo_cut->hire_charge( lt_containers ) ).
ENDMETHOD.
METHOD hazardous_and_permit.
DATA(lt_containers) = VALUE {{p}}skip_hire_calc=>tt_containers(
( size = 'SMALL' days = 1 hazardous = abap_true permit = abap_true ) ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}skip_hire_calc=>ty_amount( '195.00' )
act = mo_cut->hire_charge( lt_containers ) ).
ENDMETHOD.
METHOD bulk_discount.
DATA(lt_containers) = VALUE {{p}}skip_hire_calc=>tt_containers(
( size = 'MEDIUM' days = 1 hazardous = abap_false permit = abap_false )
( size = 'MEDIUM' days = 1 hazardous = abap_false permit = abap_false )
( size = 'MEDIUM' days = 1 hazardous = abap_false permit = abap_false )
( size = 'MEDIUM' days = 1 hazardous = abap_false permit = abap_false )
( size = 'MEDIUM' days = 1 hazardous = abap_false permit = abap_false ) ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}skip_hire_calc=>ty_amount( '630.00' )
act = mo_cut->hire_charge( lt_containers ) ).
ENDMETHOD.
METHOD invalid_rows_are_free.
DATA(lt_containers) = VALUE {{p}}skip_hire_calc=>tt_containers(
( size = 'HUGE' days = 3 hazardous = abap_true permit = abap_true ) ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}skip_hire_calc=>ty_amount( '0.00' )
act = mo_cut->hire_charge( lt_containers ) ).
ENDMETHOD.
ENDCLASS.