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:
90
tasks_gen/train/G1042/hidden/snow_fee_hidden.clas.abap
Normal file
90
tasks_gen/train/G1042/hidden/snow_fee_hidden.clas.abap
Normal file
@@ -0,0 +1,90 @@
|
||||
CLASS {{p}}snow_fee_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
DATA mo_cut TYPE REF TO {{p}}snow_fee.
|
||||
|
||||
METHODS setup.
|
||||
METHODS assert_fee
|
||||
IMPORTING iv_area TYPE {{p}}snow_fee=>ty_area
|
||||
iv_priority TYPE {{p}}snow_fee=>ty_priority
|
||||
iv_distance TYPE {{p}}snow_fee=>ty_distance
|
||||
iv_expected TYPE {{p}}snow_fee=>ty_fee.
|
||||
|
||||
METHODS minimum_charge FOR TESTING.
|
||||
METHODS small_area_rate FOR TESTING.
|
||||
METHODS mid_area_rate FOR TESTING.
|
||||
METHODS mid_area_upper FOR TESTING.
|
||||
METHODS large_area_rate FOR TESTING.
|
||||
METHODS express_surcharge FOR TESTING.
|
||||
METHODS emergency_surcharge FOR TESTING.
|
||||
METHODS unknown_priority FOR TESTING.
|
||||
METHODS minimum_with_express FOR TESTING.
|
||||
METHODS travel_charged FOR TESTING.
|
||||
METHODS travel_not_surcharged FOR TESTING.
|
||||
METHODS zero_area_returns_zero FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}snow_fee_hidden IMPLEMENTATION.
|
||||
METHOD setup.
|
||||
mo_cut = NEW {{p}}snow_fee( ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD assert_fee.
|
||||
DATA lv_expected TYPE {{p}}snow_fee=>ty_fee.
|
||||
lv_expected = iv_expected.
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = lv_expected
|
||||
act = mo_cut->calculate( iv_area = iv_area
|
||||
iv_priority = iv_priority
|
||||
iv_distance = iv_distance ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD minimum_charge.
|
||||
assert_fee( iv_area = 100 iv_priority = 'S' iv_distance = 0 iv_expected = '45.00' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD small_area_rate.
|
||||
assert_fee( iv_area = 500 iv_priority = 'S' iv_distance = 0 iv_expected = '100.00' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD mid_area_rate.
|
||||
assert_fee( iv_area = 501 iv_priority = 'S' iv_distance = 0 iv_expected = '80.16' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD mid_area_upper.
|
||||
assert_fee( iv_area = 2000 iv_priority = 'S' iv_distance = 0 iv_expected = '320.00' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD large_area_rate.
|
||||
assert_fee( iv_area = 2001 iv_priority = 'S' iv_distance = 0 iv_expected = '240.12' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD express_surcharge.
|
||||
assert_fee( iv_area = 1000 iv_priority = 'E' iv_distance = 0 iv_expected = '200.00' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD emergency_surcharge.
|
||||
assert_fee( iv_area = 1000 iv_priority = 'X' iv_distance = 0 iv_expected = '240.00' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD unknown_priority.
|
||||
assert_fee( iv_area = 1000 iv_priority = 'Z' iv_distance = 0 iv_expected = '160.00' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD minimum_with_express.
|
||||
assert_fee( iv_area = 100 iv_priority = 'E' iv_distance = 0 iv_expected = '56.25' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD travel_charged.
|
||||
assert_fee( iv_area = 1000 iv_priority = 'S' iv_distance = 30 iv_expected = '168.00' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD travel_not_surcharged.
|
||||
assert_fee( iv_area = 1000 iv_priority = 'E' iv_distance = 30 iv_expected = '208.00' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zero_area_returns_zero.
|
||||
assert_fee( iv_area = 0 iv_priority = 'X' iv_distance = 30 iv_expected = '0.00' ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user