Files
abap-llm/tasks_gen/eval/G0126/hidden/t_bag_drop_hidden.clas.abap

220 lines
8.6 KiB
ABAP

CLASS {{p}}t_bag_drop_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
DATA mo_cut TYPE REF TO {{p}}bag_drop.
METHODS setup.
METHODS accepts_valid_bag FOR TESTING.
METHODS rejects_bad_tag FOR TESTING.
METHODS accepts_max_weight FOR TESTING.
METHODS rejects_overweight FOR TESTING.
METHODS accepts_max_size FOR TESTING.
METHODS rejects_oversize FOR TESTING.
METHODS accepts_one_bag FOR TESTING.
METHODS rejects_third_bag FOR TESTING.
METHODS accepts_40_minutes FOR TESTING.
METHODS rejects_39_minutes FOR TESTING.
METHODS tag_checked_first FOR TESTING.
ENDCLASS.
CLASS {{p}}t_bag_drop_hidden IMPLEMENTATION.
METHOD setup.
mo_cut = NEW {{p}}bag_drop( ).
ENDMETHOD.
METHOD accepts_valid_bag.
TRY.
mo_cut->accept_bag( iv_tag = 'AB12345678'
iv_weight = 20
iv_length = 55
iv_width = 40
iv_height = 20
iv_bags_checked = 0
iv_min_to_dep = 90 ).
CATCH cx_root.
cl_abap_unit_assert=>fail( msg = 'A valid bag was rejected' ).
ENDTRY.
ENDMETHOD.
METHOD rejects_bad_tag.
DATA lv_tag TYPE {{p}}bag_drop=>ty_tag.
DATA lo_tag TYPE REF TO {{p}}cx_bag_tag.
TRY.
mo_cut->accept_bag( iv_tag = lv_tag
iv_weight = 20
iv_length = 55
iv_width = 40
iv_height = 20
iv_bags_checked = 0
iv_min_to_dep = 90 ).
cl_abap_unit_assert=>fail( msg = 'An empty tag was accepted' ).
CATCH {{p}}cx_bag_tag INTO lo_tag.
cl_abap_unit_assert=>assert_equals( exp = `Invalid bag tag` act = lo_tag->mv_text ).
CATCH cx_root.
cl_abap_unit_assert=>fail( msg = 'Wrong exception type' ).
ENDTRY.
TRY.
mo_cut->accept_bag( iv_tag = 'AB1234567'
iv_weight = 20
iv_length = 55
iv_width = 40
iv_height = 20
iv_bags_checked = 0
iv_min_to_dep = 90 ).
cl_abap_unit_assert=>fail( msg = 'A short tag was accepted' ).
CATCH {{p}}cx_bag_tag INTO lo_tag.
cl_abap_unit_assert=>assert_equals( exp = `Invalid bag tag` act = lo_tag->mv_text ).
CATCH cx_root.
cl_abap_unit_assert=>fail( msg = 'Wrong exception type' ).
ENDTRY.
ENDMETHOD.
METHOD accepts_max_weight.
TRY.
mo_cut->accept_bag( iv_tag = 'AB12345678'
iv_weight = 23
iv_length = 55
iv_width = 40
iv_height = 20
iv_bags_checked = 0
iv_min_to_dep = 90 ).
CATCH cx_root.
cl_abap_unit_assert=>fail( msg = 'A bag at the weight limit was rejected' ).
ENDTRY.
ENDMETHOD.
METHOD rejects_overweight.
DATA lv_weight TYPE {{p}}bag_drop=>ty_weight.
DATA lo_weight TYPE REF TO {{p}}cx_bag_weight.
lv_weight = '23.01'.
TRY.
mo_cut->accept_bag( iv_tag = 'AB12345678'
iv_weight = lv_weight
iv_length = 100
iv_width = 100
iv_height = 100
iv_bags_checked = 0
iv_min_to_dep = 90 ).
cl_abap_unit_assert=>fail( msg = 'An overweight bag was accepted' ).
CATCH {{p}}cx_bag_weight INTO lo_weight.
cl_abap_unit_assert=>assert_equals( exp = `Bag is too heavy` act = lo_weight->mv_text ).
CATCH cx_root.
cl_abap_unit_assert=>fail( msg = 'Wrong exception type' ).
ENDTRY.
ENDMETHOD.
METHOD accepts_max_size.
TRY.
mo_cut->accept_bag( iv_tag = 'AB12345678'
iv_weight = 20
iv_length = 70
iv_width = 50
iv_height = 38
iv_bags_checked = 0
iv_min_to_dep = 90 ).
CATCH cx_root.
cl_abap_unit_assert=>fail( msg = 'A bag at the size limit was rejected' ).
ENDTRY.
ENDMETHOD.
METHOD rejects_oversize.
DATA lo_size TYPE REF TO {{p}}cx_bag_size.
TRY.
mo_cut->accept_bag( iv_tag = 'AB12345678'
iv_weight = 20
iv_length = 70
iv_width = 50
iv_height = 39
iv_bags_checked = 0
iv_min_to_dep = 90 ).
cl_abap_unit_assert=>fail( msg = 'An oversize bag was accepted' ).
CATCH {{p}}cx_bag_size INTO lo_size.
cl_abap_unit_assert=>assert_equals( exp = `Bag is too large` act = lo_size->mv_text ).
CATCH cx_root.
cl_abap_unit_assert=>fail( msg = 'Wrong exception type' ).
ENDTRY.
ENDMETHOD.
METHOD accepts_one_bag.
TRY.
mo_cut->accept_bag( iv_tag = 'AB12345678'
iv_weight = 20
iv_length = 55
iv_width = 40
iv_height = 20
iv_bags_checked = 1
iv_min_to_dep = 90 ).
CATCH cx_root.
cl_abap_unit_assert=>fail( msg = 'A second bag was rejected' ).
ENDTRY.
ENDMETHOD.
METHOD rejects_third_bag.
DATA lo_limit TYPE REF TO {{p}}cx_bag_limit.
TRY.
mo_cut->accept_bag( iv_tag = 'AB12345678'
iv_weight = 20
iv_length = 55
iv_width = 40
iv_height = 20
iv_bags_checked = 2
iv_min_to_dep = 90 ).
cl_abap_unit_assert=>fail( msg = 'A third bag was accepted' ).
CATCH {{p}}cx_bag_limit INTO lo_limit.
cl_abap_unit_assert=>assert_equals( exp = `Bag limit reached` act = lo_limit->mv_text ).
CATCH cx_root.
cl_abap_unit_assert=>fail( msg = 'Wrong exception type' ).
ENDTRY.
ENDMETHOD.
METHOD accepts_40_minutes.
TRY.
mo_cut->accept_bag( iv_tag = 'AB12345678'
iv_weight = 20
iv_length = 55
iv_width = 40
iv_height = 20
iv_bags_checked = 0
iv_min_to_dep = 40 ).
CATCH cx_root.
cl_abap_unit_assert=>fail( msg = 'A bag at the time limit was rejected' ).
ENDTRY.
ENDMETHOD.
METHOD rejects_39_minutes.
DATA lo_late TYPE REF TO {{p}}cx_bag_late.
TRY.
mo_cut->accept_bag( iv_tag = 'AB12345678'
iv_weight = 20
iv_length = 55
iv_width = 40
iv_height = 20
iv_bags_checked = 0
iv_min_to_dep = 39 ).
cl_abap_unit_assert=>fail( msg = 'A late bag was accepted' ).
CATCH {{p}}cx_bag_late INTO lo_late.
cl_abap_unit_assert=>assert_equals( exp = `Check-in closed` act = lo_late->mv_text ).
CATCH cx_root.
cl_abap_unit_assert=>fail( msg = 'Wrong exception type' ).
ENDTRY.
ENDMETHOD.
METHOD tag_checked_first.
DATA lo_tag TYPE REF TO {{p}}cx_bag_tag.
TRY.
mo_cut->accept_bag( iv_tag = 'ab12345678'
iv_weight = 30
iv_length = 200
iv_width = 100
iv_height = 100
iv_bags_checked = 5
iv_min_to_dep = 10 ).
cl_abap_unit_assert=>fail( msg = 'A bag with a bad tag was accepted' ).
CATCH {{p}}cx_bag_tag INTO lo_tag.
cl_abap_unit_assert=>assert_equals( exp = `Invalid bag tag` act = lo_tag->mv_text ).
CATCH cx_root.
cl_abap_unit_assert=>fail( msg = 'Wrong exception type' ).
ENDTRY.
ENDMETHOD.
ENDCLASS.