Files
abap-llm/tasks_gen/train/G1913/reference/laundry_fee_test.clas.abap
2026-10-05 22:08:59 +02:00

115 lines
5.5 KiB
ABAP

CLASS {{p}}laundry_fee_test DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS reason_codes FOR TESTING.
METHODS item_codes FOR TESTING.
METHODS service_codes FOR TESTING.
METHODS price_table FOR TESTING.
METHODS factor_table FOR TESTING.
METHODS limit_values FOR TESTING.
METHODS type_lengths FOR TESTING.
ENDCLASS.
CLASS {{p}}laundry_fee_test IMPLEMENTATION.
METHOD reason_codes.
DATA lv_reason TYPE {{p}}if_laundry_fee=>ty_reason.
lv_reason = 'OK'.
cl_abap_unit_assert=>assert_equals( exp = lv_reason act = {{p}}if_laundry_fee=>c_reason-ok ).
lv_reason = 'ITEM'.
cl_abap_unit_assert=>assert_equals( exp = lv_reason act = {{p}}if_laundry_fee=>c_reason-item ).
lv_reason = 'SERVICE'.
cl_abap_unit_assert=>assert_equals( exp = lv_reason act = {{p}}if_laundry_fee=>c_reason-service ).
lv_reason = 'QTY'.
cl_abap_unit_assert=>assert_equals( exp = lv_reason act = {{p}}if_laundry_fee=>c_reason-qty ).
ENDMETHOD.
METHOD item_codes.
DATA lv_item TYPE {{p}}if_laundry_fee=>ty_item.
lv_item = 'SHIRT'.
cl_abap_unit_assert=>assert_equals( exp = lv_item act = {{p}}if_laundry_fee=>c_item-shirt ).
lv_item = 'TROUS'.
cl_abap_unit_assert=>assert_equals( exp = lv_item act = {{p}}if_laundry_fee=>c_item-trousers ).
lv_item = 'SUIT'.
cl_abap_unit_assert=>assert_equals( exp = lv_item act = {{p}}if_laundry_fee=>c_item-suit ).
lv_item = 'COAT'.
cl_abap_unit_assert=>assert_equals( exp = lv_item act = {{p}}if_laundry_fee=>c_item-coat ).
lv_item = 'DRESS'.
cl_abap_unit_assert=>assert_equals( exp = lv_item act = {{p}}if_laundry_fee=>c_item-dress ).
lv_item = 'CURTAIN'.
cl_abap_unit_assert=>assert_equals( exp = lv_item act = {{p}}if_laundry_fee=>c_item-curtain ).
ENDMETHOD.
METHOD service_codes.
DATA lv_service TYPE {{p}}if_laundry_fee=>ty_service.
lv_service = 'WASH'.
cl_abap_unit_assert=>assert_equals( exp = lv_service act = {{p}}if_laundry_fee=>c_service-wash ).
lv_service = 'DRYC'.
cl_abap_unit_assert=>assert_equals( exp = lv_service act = {{p}}if_laundry_fee=>c_service-dryc ).
lv_service = 'IRON'.
cl_abap_unit_assert=>assert_equals( exp = lv_service act = {{p}}if_laundry_fee=>c_service-iron ).
lv_service = 'MEND'.
cl_abap_unit_assert=>assert_equals( exp = lv_service act = {{p}}if_laundry_fee=>c_service-mend ).
ENDMETHOD.
METHOD price_table.
DATA lv_price TYPE {{p}}if_laundry_fee=>ty_amount.
lv_price = '3.50'.
cl_abap_unit_assert=>assert_equals( exp = lv_price act = {{p}}if_laundry_fee=>c_price-shirt ).
lv_price = '5.00'.
cl_abap_unit_assert=>assert_equals( exp = lv_price act = {{p}}if_laundry_fee=>c_price-trousers ).
lv_price = '12.00'.
cl_abap_unit_assert=>assert_equals( exp = lv_price act = {{p}}if_laundry_fee=>c_price-suit ).
lv_price = '14.50'.
cl_abap_unit_assert=>assert_equals( exp = lv_price act = {{p}}if_laundry_fee=>c_price-coat ).
lv_price = '8.00'.
cl_abap_unit_assert=>assert_equals( exp = lv_price act = {{p}}if_laundry_fee=>c_price-dress ).
lv_price = '9.50'.
cl_abap_unit_assert=>assert_equals( exp = lv_price act = {{p}}if_laundry_fee=>c_price-curtain ).
ENDMETHOD.
METHOD factor_table.
DATA lv_factor TYPE i.
lv_factor = 100.
cl_abap_unit_assert=>assert_equals( exp = lv_factor act = {{p}}if_laundry_fee=>c_factor-wash ).
lv_factor = 180.
cl_abap_unit_assert=>assert_equals( exp = lv_factor act = {{p}}if_laundry_fee=>c_factor-dryc ).
lv_factor = 40.
cl_abap_unit_assert=>assert_equals( exp = lv_factor act = {{p}}if_laundry_fee=>c_factor-iron ).
lv_factor = 220.
cl_abap_unit_assert=>assert_equals( exp = lv_factor act = {{p}}if_laundry_fee=>c_factor-mend ).
ENDMETHOD.
METHOD limit_values.
DATA lv_qty TYPE {{p}}if_laundry_fee=>ty_quantity.
DATA lv_int TYPE i.
DATA lv_fee TYPE {{p}}if_laundry_fee=>ty_amount.
lv_qty = 99.
cl_abap_unit_assert=>assert_equals( exp = lv_qty act = {{p}}if_laundry_fee=>c_max_qty ).
lv_qty = 10.
cl_abap_unit_assert=>assert_equals( exp = lv_qty act = {{p}}if_laundry_fee=>c_bulk_min_qty ).
lv_int = 10.
cl_abap_unit_assert=>assert_equals( exp = lv_int act = {{p}}if_laundry_fee=>c_bulk_discount ).
lv_int = 25.
cl_abap_unit_assert=>assert_equals( exp = lv_int act = {{p}}if_laundry_fee=>c_express_surcharge ).
lv_fee = '5.00'.
cl_abap_unit_assert=>assert_equals( exp = lv_fee act = {{p}}if_laundry_fee=>c_min_fee ).
ENDMETHOD.
METHOD type_lengths.
DATA lv_item TYPE {{p}}if_laundry_fee=>ty_item.
DATA lv_item_ref TYPE c LENGTH 7.
DATA lv_amount TYPE {{p}}if_laundry_fee=>ty_amount.
DATA lv_amount_ref TYPE p LENGTH 8 DECIMALS 2.
DATA(lo_item) = CAST cl_abap_elemdescr( cl_abap_typedescr=>describe_by_data( lv_item ) ).
DATA(lo_item_ref) = CAST cl_abap_elemdescr( cl_abap_typedescr=>describe_by_data( lv_item_ref ) ).
cl_abap_unit_assert=>assert_equals( exp = lo_item_ref->length act = lo_item->length ).
cl_abap_unit_assert=>assert_equals( exp = lo_item_ref->type_kind act = lo_item->type_kind ).
DATA(lo_amount) = CAST cl_abap_elemdescr( cl_abap_typedescr=>describe_by_data( lv_amount ) ).
DATA(lo_amount_ref) = CAST cl_abap_elemdescr( cl_abap_typedescr=>describe_by_data( lv_amount_ref ) ).
cl_abap_unit_assert=>assert_equals( exp = lo_amount_ref->length act = lo_amount->length ).
cl_abap_unit_assert=>assert_equals( exp = lo_amount_ref->decimals act = lo_amount->decimals ).
ENDMETHOD.
ENDCLASS.