Stage 2 summary at 50 accepted trajectories
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
111
tasks_gen/train/G1063/hidden/t02_hidden.clas.abap
Normal file
111
tasks_gen/train/G1063/hidden/t02_hidden.clas.abap
Normal file
@@ -0,0 +1,111 @@
|
||||
CLASS {{p}}t02_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
DATA mo_cut TYPE REF TO {{p}}if_toll_pricer.
|
||||
METHODS setup.
|
||||
METHODS minimum_toll FOR TESTING.
|
||||
METHODS car_and_van_rate FOR TESTING.
|
||||
METHODS lorry_rate FOR TESTING.
|
||||
METHODS transponder_discount FOR TESTING.
|
||||
METHODS discount_after_minimum FOR TESTING.
|
||||
METHODS night_lorry_surcharge FOR TESTING.
|
||||
METHODS night_car_no_surcharge FOR TESTING.
|
||||
METHODS discount_and_night FOR TESTING.
|
||||
METHODS lower_case_class FOR TESTING.
|
||||
METHODS unknown_class FOR TESTING.
|
||||
METHODS zero_distance FOR TESTING.
|
||||
METHODS distance_too_long FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}t02_hidden IMPLEMENTATION.
|
||||
METHOD setup.
|
||||
mo_cut = NEW {{p}}toll_pricer( ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD minimum_toll.
|
||||
DATA(ls_result) = mo_cut->price_journey( VALUE #( vehicle_class = 'M' distance_km = 10 ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_toll_pricer=>c_reason-ok
|
||||
act = ls_result-reason ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 100
|
||||
act = ls_result-amount_cents ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD car_and_van_rate.
|
||||
DATA(ls_car) = mo_cut->price_journey( VALUE #( vehicle_class = 'C' distance_km = 50 ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 500 act = ls_car-amount_cents msg = `car 50 km` ).
|
||||
DATA(ls_van) = mo_cut->price_journey( VALUE #( vehicle_class = 'V' distance_km = 20 ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 360 act = ls_van-amount_cents msg = `van 20 km` ).
|
||||
DATA(ls_max) = mo_cut->price_journey( VALUE #( vehicle_class = 'C' distance_km = 130 ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1300 act = ls_max-amount_cents msg = `car 130 km` ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD lorry_rate.
|
||||
DATA(ls_result) = mo_cut->price_journey( VALUE #( vehicle_class = 'L' distance_km = 100 ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_toll_pricer=>c_reason-ok
|
||||
act = ls_result-reason ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 3000 act = ls_result-amount_cents ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD transponder_discount.
|
||||
DATA(ls_result) = mo_cut->price_journey( VALUE #( vehicle_class = 'C'
|
||||
distance_km = 100
|
||||
has_transponder = abap_true ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 900 act = ls_result-amount_cents ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD discount_after_minimum.
|
||||
DATA(ls_result) = mo_cut->price_journey( VALUE #( vehicle_class = 'C'
|
||||
distance_km = 5
|
||||
has_transponder = abap_true ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 90 act = ls_result-amount_cents ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD night_lorry_surcharge.
|
||||
DATA(ls_result) = mo_cut->price_journey( VALUE #( vehicle_class = 'L'
|
||||
distance_km = 100
|
||||
at_night = abap_true ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 3750 act = ls_result-amount_cents ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD night_car_no_surcharge.
|
||||
DATA(ls_result) = mo_cut->price_journey( VALUE #( vehicle_class = 'C'
|
||||
distance_km = 100
|
||||
at_night = abap_true ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1000 act = ls_result-amount_cents ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD discount_and_night.
|
||||
DATA(ls_result) = mo_cut->price_journey( VALUE #( vehicle_class = 'L'
|
||||
distance_km = 100
|
||||
has_transponder = abap_true
|
||||
at_night = abap_true ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 3375 act = ls_result-amount_cents ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD lower_case_class.
|
||||
DATA(ls_result) = mo_cut->price_journey( VALUE #( vehicle_class = 'c' distance_km = 50 ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 500 act = ls_result-amount_cents ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD unknown_class.
|
||||
DATA(ls_result) = mo_cut->price_journey( VALUE #( vehicle_class = 'X' distance_km = 50 ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_toll_pricer=>c_reason-vehicle
|
||||
act = ls_result-reason ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = ls_result-amount_cents ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zero_distance.
|
||||
DATA(ls_result) = mo_cut->price_journey( VALUE #( vehicle_class = 'C' distance_km = 0 ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_toll_pricer=>c_reason-distance
|
||||
act = ls_result-reason ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = ls_result-amount_cents ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD distance_too_long.
|
||||
DATA(ls_result) = mo_cut->price_journey( VALUE #( vehicle_class = 'C' distance_km = 131 ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_toll_pricer=>c_reason-distance
|
||||
act = ls_result-reason ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = ls_result-amount_cents ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user