Files
abap-llm/tasks_gen/train/G1123/hidden/t02_hidden.clas.abap
2026-10-05 18:02:52 +02:00

143 lines
5.9 KiB
ABAP

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}}airport_fee.
METHODS setup.
METHODS assert_fee
IMPORTING iv_exp TYPE {{p}}airport_fee=>ty_amount
iv_act TYPE {{p}}airport_fee=>ty_amount.
METHODS light_zone1_eur FOR TESTING.
METHODS medium_zone2_night_eur FOR TESTING.
METHODS heavy_zone3_night_chf FOR TESTING.
METHODS light_zone2_eur FOR TESTING.
METHODS light_zone2_usd FOR TESTING.
METHODS unknown_zone_ignored FOR TESTING.
METHODS unknown_class_zero FOR TESTING.
METHODS unknown_curr_zero FOR TESTING.
METHODS zero_tonnes_zero FOR TESTING.
METHODS pax_zone2_eur FOR TESTING.
METHODS pax_zone1_chf FOR TESTING.
METHODS pax_invalid_zero FOR TESTING.
ENDCLASS.
CLASS {{p}}t02_hidden IMPLEMENTATION.
METHOD setup.
mo_cut = NEW {{p}}airport_fee( ).
ENDMETHOD.
METHOD assert_fee.
cl_abap_unit_assert=>assert_equals( exp = iv_exp act = iv_act ).
ENDMETHOD.
METHOD light_zone1_eur.
assert_fee( iv_exp = '125.00'
iv_act = mo_cut->landing_fee( iv_class = 'L'
iv_zone = 'Z1'
iv_night = 'D'
iv_currency = 'EUR'
iv_tonnes = 10 ) ).
ENDMETHOD.
METHOD medium_zone2_night_eur.
assert_fee( iv_exp = '701.20'
iv_act = mo_cut->landing_fee( iv_class = 'M'
iv_zone = 'Z2'
iv_night = 'N'
iv_currency = 'EUR'
iv_tonnes = 20 ) ).
ENDMETHOD.
METHOD heavy_zone3_night_chf.
assert_fee( iv_exp = '1898.10'
iv_act = mo_cut->landing_fee( iv_class = 'H'
iv_zone = 'Z3'
iv_night = 'N'
iv_currency = 'CHF'
iv_tonnes = 30 ) ).
ENDMETHOD.
METHOD light_zone2_eur.
assert_fee( iv_exp = '562.40'
iv_act = mo_cut->landing_fee( iv_class = 'L'
iv_zone = 'Z2'
iv_night = 'D'
iv_currency = 'EUR'
iv_tonnes = 40 ) ).
ENDMETHOD.
METHOD light_zone2_usd.
assert_fee( iv_exp = '646.80'
iv_act = mo_cut->landing_fee( iv_class = 'L'
iv_zone = 'Z2'
iv_night = 'D'
iv_currency = 'USD'
iv_tonnes = 40 ) ).
ENDMETHOD.
METHOD unknown_zone_ignored.
assert_fee( iv_exp = '245.00'
iv_act = mo_cut->landing_fee( iv_class = 'M'
iv_zone = 'Z9'
iv_night = 'D'
iv_currency = 'EUR'
iv_tonnes = 10 ) ).
ENDMETHOD.
METHOD unknown_class_zero.
assert_fee( iv_exp = '0.00'
iv_act = mo_cut->landing_fee( iv_class = 'X'
iv_zone = 'Z1'
iv_night = 'D'
iv_currency = 'EUR'
iv_tonnes = 10 ) ).
ENDMETHOD.
METHOD unknown_curr_zero.
assert_fee( iv_exp = '0.00'
iv_act = mo_cut->landing_fee( iv_class = 'M'
iv_zone = 'Z1'
iv_night = 'D'
iv_currency = 'GBP'
iv_tonnes = 10 ) ).
ENDMETHOD.
METHOD zero_tonnes_zero.
assert_fee( iv_exp = '0.00'
iv_act = mo_cut->landing_fee( iv_class = 'L'
iv_zone = 'Z1'
iv_night = 'D'
iv_currency = 'EUR'
iv_tonnes = 0 ) ).
ENDMETHOD.
METHOD pax_zone2_eur.
assert_fee( iv_exp = '1382.00'
iv_act = mo_cut->passenger_fee( iv_zone = 'Z2'
iv_currency = 'EUR'
iv_passengers = 100 ) ).
ENDMETHOD.
METHOD pax_zone1_chf.
assert_fee( iv_exp = '10.51'
iv_act = mo_cut->passenger_fee( iv_zone = 'Z1'
iv_currency = 'CHF'
iv_passengers = 1 ) ).
ENDMETHOD.
METHOD pax_invalid_zero.
assert_fee( iv_exp = '0.00'
iv_act = mo_cut->passenger_fee( iv_zone = 'Z1'
iv_currency = 'EUR'
iv_passengers = 0 ) ).
assert_fee( iv_exp = '0.00'
iv_act = mo_cut->passenger_fee( iv_zone = 'Z1'
iv_currency = 'EUR'
iv_passengers = -5 ) ).
assert_fee( iv_exp = '0.00'
iv_act = mo_cut->passenger_fee( iv_zone = 'Z1'
iv_currency = 'GBP'
iv_passengers = 5 ) ).
ENDMETHOD.
ENDCLASS.