CLASS ltc_tailor_pricer DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS. PRIVATE SECTION. DATA mo_cut TYPE REF TO {{p}}tailor_pricer. METHODS setup. METHODS minimum_price FOR TESTING. METHODS ten_percent_discount FOR TESTING. METHODS twenty_percent_discount FOR TESTING. METHODS express_fee FOR TESTING. METHODS unknown_service FOR TESTING. METHODS unknown_garment FOR TESTING. METHODS no_quantity FOR TESTING. ENDCLASS. CLASS ltc_tailor_pricer IMPLEMENTATION. METHOD setup. mo_cut = NEW {{p}}tailor_pricer( ). ENDMETHOD. METHOD minimum_price. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}tailor_pricer=>ty_price( '15.00' ) act = mo_cut->calculate_price( iv_garment = 'TROUSERS' iv_service = 'HEM' iv_quantity = 1 iv_express = abap_false ) ). ENDMETHOD. METHOD ten_percent_discount. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}tailor_pricer=>ty_price( '32.40' ) act = mo_cut->calculate_price( iv_garment = 'SKIRT' iv_service = 'ZIP' iv_quantity = 3 iv_express = abap_false ) ). ENDMETHOD. METHOD twenty_percent_discount. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}tailor_pricer=>ty_price( '32.00' ) act = mo_cut->calculate_price( iv_garment = 'TROUSERS' iv_service = 'HEM' iv_quantity = 5 iv_express = abap_false ) ). ENDMETHOD. METHOD express_fee. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}tailor_pricer=>ty_price( '57.00' ) act = mo_cut->calculate_price( iv_garment = 'JACKET' iv_service = 'TAKE_IN' iv_quantity = 2 iv_express = abap_true ) ). ENDMETHOD. METHOD unknown_service. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}tailor_pricer=>ty_price( '0.00' ) act = mo_cut->calculate_price( iv_garment = 'TROUSERS' iv_service = 'PATCH' iv_quantity = 2 iv_express = abap_false ) ). ENDMETHOD. METHOD unknown_garment. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}tailor_pricer=>ty_price( '0.00' ) act = mo_cut->calculate_price( iv_garment = 'SHIRT' iv_service = 'HEM' iv_quantity = 2 iv_express = abap_false ) ). ENDMETHOD. METHOD no_quantity. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}tailor_pricer=>ty_price( '0.00' ) act = mo_cut->calculate_price( iv_garment = 'TROUSERS' iv_service = 'HEM' iv_quantity = 0 iv_express = abap_false ) ). ENDMETHOD. ENDCLASS.