Files
abap-llm/tasks_gen/eval/G0001/reference/tour_planner.testclasses.abap

94 lines
4.2 KiB
ABAP

CLASS ltc_tour_planner DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
DATA mo_cut TYPE REF TO {{P}}TOUR_PLANNER.
METHODS setup.
METHODS add_and_read_item FOR TESTING.
METHODS duplicate_is_rejected FOR TESTING.
METHODS invalid_input_is_rejected FOR TESTING.
METHODS summary_totals FOR TESTING.
METHODS remove_tour_works FOR TESTING.
ENDCLASS.
CLASS ltc_tour_planner IMPLEMENTATION.
METHOD setup.
mo_cut = NEW {{P}}TOUR_PLANNER( ).
ENDMETHOD.
METHOD add_and_read_item.
DATA(lv_status) = mo_cut->add_item( iv_tour_id = 'T001'
iv_stop_no = 1
iv_customer = 'CUST01'
iv_packages = 3
iv_weight = '12.50' ).
cl_abap_unit_assert=>assert_equals( exp = {{P}}TOUR_PLANNER=>c_status-ok act = lv_status ).
DATA(lt_item) = mo_cut->items( ).
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_item ) ).
cl_abap_unit_assert=>assert_equals( exp = 'CUST01' act = lt_item[ 1 ]-customer ).
ENDMETHOD.
METHOD duplicate_is_rejected.
DATA(lv_status) = mo_cut->add_item( iv_tour_id = 'T001'
iv_stop_no = 1
iv_customer = 'CUST01'
iv_packages = 3
iv_weight = '12.50' ).
cl_abap_unit_assert=>assert_equals( exp = {{P}}TOUR_PLANNER=>c_status-ok act = lv_status ).
lv_status = mo_cut->add_item( iv_tour_id = 'T001'
iv_stop_no = 1
iv_customer = 'CUST02'
iv_packages = 1
iv_weight = '1.00' ).
cl_abap_unit_assert=>assert_equals( exp = {{P}}TOUR_PLANNER=>c_status-duplicate act = lv_status ).
ENDMETHOD.
METHOD invalid_input_is_rejected.
DATA(lv_status) = mo_cut->add_item( iv_tour_id = ''
iv_stop_no = 1
iv_customer = 'CUST01'
iv_packages = 1
iv_weight = '1.00' ).
cl_abap_unit_assert=>assert_equals( exp = {{P}}TOUR_PLANNER=>c_status-invalid act = lv_status ).
DATA(lt_item) = mo_cut->items( ).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lines( lt_item ) ).
ENDMETHOD.
METHOD summary_totals.
DATA(lv_status) = mo_cut->add_item( iv_tour_id = 'T001'
iv_stop_no = 1
iv_customer = 'CUST01'
iv_packages = 2
iv_weight = '10.00' ).
cl_abap_unit_assert=>assert_equals( exp = {{P}}TOUR_PLANNER=>c_status-ok act = lv_status ).
lv_status = mo_cut->add_item( iv_tour_id = 'T001'
iv_stop_no = 2
iv_customer = 'CUST02'
iv_packages = 3
iv_weight = '20.00' ).
cl_abap_unit_assert=>assert_equals( exp = {{P}}TOUR_PLANNER=>c_status-ok act = lv_status ).
DATA(lt_tour) = mo_cut->tour_summary( ).
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_tour ) ).
cl_abap_unit_assert=>assert_equals( exp = 2 act = lt_tour[ 1 ]-stops ).
cl_abap_unit_assert=>assert_equals( exp = 5 act = lt_tour[ 1 ]-packages ).
ENDMETHOD.
METHOD remove_tour_works.
DATA(lv_status) = mo_cut->add_item( iv_tour_id = 'T001'
iv_stop_no = 1
iv_customer = 'CUST01'
iv_packages = 1
iv_weight = '1.00' ).
cl_abap_unit_assert=>assert_equals( exp = {{P}}TOUR_PLANNER=>c_status-ok act = lv_status ).
cl_abap_unit_assert=>assert_equals( exp = 1 act = mo_cut->remove_tour( 'T001' ) ).
DATA(lt_item) = mo_cut->items( ).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lines( lt_item ) ).
ENDMETHOD.
ENDCLASS.