Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
93 lines
3.2 KiB
ABAP
93 lines
3.2 KiB
ABAP
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.
|