CLASS {{p}}t58_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC FOR TESTING DURATION SHORT RISK LEVEL HARMLESS. PRIVATE SECTION. DATA mo_cut TYPE REF TO {{p}}if_rope_check. METHODS setup. METHODS ok_level_1_at_limit FOR TESTING. METHODS ok_level_2_at_limit FOR TESTING. METHODS ok_level_3_at_limit FOR TESTING. METHODS ticket_ignores_case FOR TESTING. METHODS empty_ticket FOR TESTING. METHODS unknown_ticket FOR TESTING. METHODS too_young FOR TESTING. METHODS too_few_hours FOR TESTING. METHODS too_high FOR TESTING. METHODS age_checked_before_hours FOR TESTING. METHODS contract_shape FOR TESTING. ENDCLASS. CLASS {{p}}t58_hidden IMPLEMENTATION. METHOD setup. mo_cut = NEW {{p}}rope_checker( ). ENDMETHOD. METHOD ok_level_1_at_limit. cl_abap_unit_assert=>assert_equals( exp = {{p}}if_rope_check=>c_reason-ok act = mo_cut->check( iv_ticket = 'LEVEL_1' iv_height_m = 30 iv_logged_hours = 0 iv_age = 18 ) ). ENDMETHOD. METHOD ok_level_2_at_limit. cl_abap_unit_assert=>assert_equals( exp = {{p}}if_rope_check=>c_reason-ok act = mo_cut->check( iv_ticket = 'LEVEL_2' iv_height_m = 60 iv_logged_hours = 500 iv_age = 18 ) ). ENDMETHOD. METHOD ok_level_3_at_limit. cl_abap_unit_assert=>assert_equals( exp = {{p}}if_rope_check=>c_reason-ok act = mo_cut->check( iv_ticket = 'LEVEL_3' iv_height_m = 120 iv_logged_hours = 1000 iv_age = 21 ) ). ENDMETHOD. METHOD ticket_ignores_case. cl_abap_unit_assert=>assert_equals( exp = {{p}}if_rope_check=>c_reason-ok act = mo_cut->check( iv_ticket = ' level_3 ' iv_height_m = 120 iv_logged_hours = 1000 iv_age = 21 ) ). ENDMETHOD. METHOD empty_ticket. cl_abap_unit_assert=>assert_equals( exp = {{p}}if_rope_check=>c_reason-empty act = mo_cut->check( iv_ticket = '' iv_height_m = 10 iv_logged_hours = 0 iv_age = 40 ) ). ENDMETHOD. METHOD unknown_ticket. cl_abap_unit_assert=>assert_equals( exp = {{p}}if_rope_check=>c_reason-ticket act = mo_cut->check( iv_ticket = 'LEVEL_9' iv_height_m = 10 iv_logged_hours = 0 iv_age = 40 ) ). ENDMETHOD. METHOD too_young. cl_abap_unit_assert=>assert_equals( exp = {{p}}if_rope_check=>c_reason-age act = mo_cut->check( iv_ticket = 'LEVEL_3' iv_height_m = 120 iv_logged_hours = 1000 iv_age = 20 ) ). ENDMETHOD. METHOD too_few_hours. cl_abap_unit_assert=>assert_equals( exp = {{p}}if_rope_check=>c_reason-hours act = mo_cut->check( iv_ticket = 'LEVEL_2' iv_height_m = 60 iv_logged_hours = 499 iv_age = 18 ) ). ENDMETHOD. METHOD too_high. cl_abap_unit_assert=>assert_equals( exp = {{p}}if_rope_check=>c_reason-height act = mo_cut->check( iv_ticket = 'LEVEL_2' iv_height_m = 61 iv_logged_hours = 500 iv_age = 18 ) ). ENDMETHOD. METHOD age_checked_before_hours. cl_abap_unit_assert=>assert_equals( exp = {{p}}if_rope_check=>c_reason-age act = mo_cut->check( iv_ticket = 'LEVEL_3' iv_height_m = 200 iv_logged_hours = 0 iv_age = 19 ) ). ENDMETHOD. METHOD contract_shape. DATA lv_reason TYPE {{p}}if_rope_check=>ty_reason. DATA lv_ticket TYPE {{p}}if_rope_check=>ty_ticket. DATA lo_descr TYPE REF TO cl_abap_typedescr. lo_descr = cl_abap_typedescr=>describe_by_data( lv_reason ). cl_abap_unit_assert=>assert_equals( exp = 10 act = lo_descr->length ). lo_descr = cl_abap_typedescr=>describe_by_data( lv_ticket ). cl_abap_unit_assert=>assert_equals( exp = 10 act = lo_descr->length ). lv_reason = 'OK'. cl_abap_unit_assert=>assert_equals( exp = lv_reason act = {{p}}if_rope_check=>c_reason-ok ). lv_reason = 'EMPTY'. cl_abap_unit_assert=>assert_equals( exp = lv_reason act = {{p}}if_rope_check=>c_reason-empty ). lv_reason = 'TICKET'. cl_abap_unit_assert=>assert_equals( exp = lv_reason act = {{p}}if_rope_check=>c_reason-ticket ). lv_reason = 'AGE'. cl_abap_unit_assert=>assert_equals( exp = lv_reason act = {{p}}if_rope_check=>c_reason-age ). lv_reason = 'HOURS'. cl_abap_unit_assert=>assert_equals( exp = lv_reason act = {{p}}if_rope_check=>c_reason-hours ). lv_reason = 'HEIGHT'. cl_abap_unit_assert=>assert_equals( exp = lv_reason act = {{p}}if_rope_check=>c_reason-height ). lv_ticket = 'LEVEL_1'. cl_abap_unit_assert=>assert_equals( exp = lv_ticket act = {{p}}if_rope_check=>c_ticket-level_1 ). lv_ticket = 'LEVEL_2'. cl_abap_unit_assert=>assert_equals( exp = lv_ticket act = {{p}}if_rope_check=>c_ticket-level_2 ). lv_ticket = 'LEVEL_3'. cl_abap_unit_assert=>assert_equals( exp = lv_ticket act = {{p}}if_rope_check=>c_ticket-level_3 ). ENDMETHOD. ENDCLASS.