Files
abap-llm/tasks_gen/train/G1050/reference/tailor_pricer.testclasses.abap
2026-10-05 18:02:52 +02:00

71 lines
2.6 KiB
ABAP

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.