94 lines
4.2 KiB
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.
|