96 lines
3.8 KiB
ABAP
96 lines
3.8 KiB
ABAP
CLASS ltc_airport_fee DEFINITION FINAL 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 unknown_class_zero FOR TESTING.
|
|
METHODS unknown_curr_zero FOR TESTING.
|
|
METHODS pax_zone2_eur FOR TESTING.
|
|
METHODS zero_pax_zero FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS ltc_airport_fee 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 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 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 zero_pax_zero.
|
|
assert_fee( iv_exp = '0.00'
|
|
iv_act = mo_cut->passenger_fee( iv_zone = 'Z1'
|
|
iv_currency = 'EUR'
|
|
iv_passengers = 0 ) ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|