68 lines
2.5 KiB
ABAP
68 lines
2.5 KiB
ABAP
CLASS ltc_pallet_allocator DEFINITION FINAL FOR TESTING
|
|
DURATION SHORT RISK LEVEL HARMLESS.
|
|
|
|
PRIVATE SECTION.
|
|
DATA mo_cut TYPE REF TO {{p}}pallet_allocator.
|
|
|
|
METHODS setup.
|
|
METHODS frozen_pallet FOR TESTING.
|
|
METHODS chilled_pallet FOR TESTING.
|
|
METHODS dry_pallet FOR TESTING.
|
|
METHODS unknown_category FOR TESTING.
|
|
METHODS weight_out_of_range FOR TESTING.
|
|
METHODS height_out_of_range FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS ltc_pallet_allocator IMPLEMENTATION.
|
|
|
|
METHOD setup.
|
|
mo_cut = NEW {{p}}pallet_allocator( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD frozen_pallet.
|
|
DATA(ls_slot) = mo_cut->allocate( iv_category = 'F' iv_weight_kg = 100 iv_height_cm = 100 ).
|
|
|
|
cl_abap_unit_assert=>assert_equals( exp = abap_true act = ls_slot-is_valid ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'A1' act = ls_slot-aisle ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 1 act = ls_slot-rack ).
|
|
ENDMETHOD.
|
|
|
|
METHOD chilled_pallet.
|
|
DATA(ls_slot) = mo_cut->allocate( iv_category = 'C' iv_weight_kg = 500 iv_height_cm = 200 ).
|
|
|
|
cl_abap_unit_assert=>assert_equals( exp = 'B2' act = ls_slot-aisle ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'CZ' act = ls_slot-temp_zone ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 3 act = ls_slot-rack ).
|
|
ENDMETHOD.
|
|
|
|
METHOD dry_pallet.
|
|
DATA(ls_slot) = mo_cut->allocate( iv_category = 'D' iv_weight_kg = 20 iv_height_cm = 40 ).
|
|
|
|
cl_abap_unit_assert=>assert_equals( exp = 'D4' act = ls_slot-aisle ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 1 act = ls_slot-rack ).
|
|
ENDMETHOD.
|
|
|
|
METHOD unknown_category.
|
|
DATA(ls_slot) = mo_cut->allocate( iv_category = 'X' iv_weight_kg = 100 iv_height_cm = 100 ).
|
|
|
|
cl_abap_unit_assert=>assert_equals( exp = abap_false act = ls_slot-is_valid ).
|
|
ENDMETHOD.
|
|
|
|
METHOD weight_out_of_range.
|
|
DATA(ls_light) = mo_cut->allocate( iv_category = 'F' iv_weight_kg = 19 iv_height_cm = 100 ).
|
|
cl_abap_unit_assert=>assert_equals( exp = abap_false act = ls_light-is_valid ).
|
|
|
|
DATA(ls_heavy) = mo_cut->allocate( iv_category = 'F' iv_weight_kg = 801 iv_height_cm = 100 ).
|
|
cl_abap_unit_assert=>assert_equals( exp = abap_false act = ls_heavy-is_valid ).
|
|
ENDMETHOD.
|
|
|
|
METHOD height_out_of_range.
|
|
DATA(ls_low) = mo_cut->allocate( iv_category = 'F' iv_weight_kg = 100 iv_height_cm = 39 ).
|
|
cl_abap_unit_assert=>assert_equals( exp = abap_false act = ls_low-is_valid ).
|
|
|
|
DATA(ls_high) = mo_cut->allocate( iv_category = 'F' iv_weight_kg = 100 iv_height_cm = 241 ).
|
|
cl_abap_unit_assert=>assert_equals( exp = abap_false act = ls_high-is_valid ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|