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.