CLASS ltc_kiln_pricer DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS. PRIVATE SECTION. DATA mo_cut TYPE REF TO {{p}}if_kiln_price. METHODS setup. METHODS base_fee FOR TESTING. METHODS piece_fee FOR TESTING. METHODS weight_surcharge FOR TESTING. METHODS clay_factor FOR TESTING. METHODS glaze_fee FOR TESTING. METHODS member_discount FOR TESTING. METHODS initial_clay FOR TESTING. ENDCLASS. CLASS ltc_kiln_pricer IMPLEMENTATION. METHOD setup. mo_cut = NEW {{p}}kiln_pricer( ). ENDMETHOD. METHOD base_fee. cl_abap_unit_assert=>assert_equals( exp = '40.00' act = mo_cut->calculate_price( iv_pieces = 0 iv_weight = '0.00' iv_clay = 'EA' iv_glaze = abap_false iv_member = abap_false ) ). ENDMETHOD. METHOD piece_fee. cl_abap_unit_assert=>assert_equals( exp = '100.00' act = mo_cut->calculate_price( iv_pieces = 5 iv_weight = '0.00' iv_clay = 'EA' iv_glaze = abap_false iv_member = abap_false ) ). ENDMETHOD. METHOD weight_surcharge. cl_abap_unit_assert=>assert_equals( exp = '55.00' act = mo_cut->calculate_price( iv_pieces = 0 iv_weight = '15.00' iv_clay = 'EA' iv_glaze = abap_false iv_member = abap_false ) ). ENDMETHOD. METHOD clay_factor. cl_abap_unit_assert=>assert_equals( exp = '60.00' act = mo_cut->calculate_price( iv_pieces = 0 iv_weight = '0.00' iv_clay = 'PO' iv_glaze = abap_false iv_member = abap_false ) ). ENDMETHOD. METHOD glaze_fee. cl_abap_unit_assert=>assert_equals( exp = '65.00' act = mo_cut->calculate_price( iv_pieces = 0 iv_weight = '0.00' iv_clay = 'EA' iv_glaze = abap_true iv_member = abap_false ) ). ENDMETHOD. METHOD member_discount. cl_abap_unit_assert=>assert_equals( exp = '34.00' act = mo_cut->calculate_price( iv_pieces = 0 iv_weight = '0.00' iv_clay = 'EA' iv_glaze = abap_false iv_member = abap_true ) ). ENDMETHOD. METHOD initial_clay. cl_abap_unit_assert=>assert_equals( exp = '0.00' act = mo_cut->calculate_price( iv_pieces = 0 iv_weight = '0.00' iv_clay = space iv_glaze = abap_false iv_member = abap_false ) ). ENDMETHOD. ENDCLASS.