CLASS {{p}}t02_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC FOR TESTING DURATION SHORT RISK LEVEL HARMLESS. PUBLIC SECTION. INTERFACES {{p}}if_log_plan. PRIVATE SECTION. METHODS reason_ok FOR TESTING. METHODS reason_size FOR TESTING. METHODS reason_thick FOR TESTING. METHODS reason_width FOR TESTING. METHODS reason_len FOR TESTING. METHODS limits_are_set FOR TESTING. METHODS reason_type_is_char10 FOR TESTING. METHODS count_type_is_integer FOR TESTING. METHODS log_type_is_two_ints FOR TESTING. METHODS board_type_is_two_ints FOR TESTING. METHODS signatures_match FOR TESTING. ENDCLASS. CLASS {{p}}t02_hidden IMPLEMENTATION. METHOD {{p}}if_log_plan~check. rv_reason = {{p}}if_log_plan=>c_reason-ok. ENDMETHOD. METHOD {{p}}if_log_plan~board_count. rv_count = 0. ENDMETHOD. METHOD reason_ok. cl_abap_unit_assert=>assert_equals( exp = 'OK' act = {{p}}if_log_plan=>c_reason-ok ). ENDMETHOD. METHOD reason_size. cl_abap_unit_assert=>assert_equals( exp = 'SIZE' act = {{p}}if_log_plan=>c_reason-size ). ENDMETHOD. METHOD reason_thick. cl_abap_unit_assert=>assert_equals( exp = 'THICK' act = {{p}}if_log_plan=>c_reason-thick ). ENDMETHOD. METHOD reason_width. cl_abap_unit_assert=>assert_equals( exp = 'WIDTH' act = {{p}}if_log_plan=>c_reason-width ). ENDMETHOD. METHOD reason_len. cl_abap_unit_assert=>assert_equals( exp = 'LEN' act = {{p}}if_log_plan=>c_reason-len ). ENDMETHOD. METHOD limits_are_set. cl_abap_unit_assert=>assert_equals( exp = 20 act = {{p}}if_log_plan=>c_min_thick ). cl_abap_unit_assert=>assert_equals( exp = 100 act = {{p}}if_log_plan=>c_max_thick ). cl_abap_unit_assert=>assert_equals( exp = 100 act = {{p}}if_log_plan=>c_min_len ). cl_abap_unit_assert=>assert_equals( exp = cl_abap_typedescr=>typekind_int act = cl_abap_typedescr=>describe_by_data( {{p}}if_log_plan=>c_min_thick )->type_kind ). ENDMETHOD. METHOD reason_type_is_char10. DATA lv_reason TYPE {{p}}if_log_plan=>ty_reason. DATA lv_len TYPE i. DESCRIBE FIELD lv_reason LENGTH lv_len IN CHARACTER MODE. cl_abap_unit_assert=>assert_equals( exp = 10 act = lv_len ). cl_abap_unit_assert=>assert_equals( exp = cl_abap_typedescr=>typekind_char act = cl_abap_typedescr=>describe_by_data( lv_reason )->type_kind ). ENDMETHOD. METHOD count_type_is_integer. DATA lv_count TYPE {{p}}if_log_plan=>ty_count. cl_abap_unit_assert=>assert_equals( exp = cl_abap_typedescr=>typekind_int act = cl_abap_typedescr=>describe_by_data( lv_count )->type_kind ). ENDMETHOD. METHOD log_type_is_two_ints. DATA(ls_log) = VALUE {{p}}if_log_plan=>ty_log( dia = 300 len = 400 ). DATA(lo_descr) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_data( ls_log ) ). DATA(lt_comp) = lo_descr->get_components( ). cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lt_comp ) ). cl_abap_unit_assert=>assert_equals( exp = cl_abap_typedescr=>typekind_int act = cl_abap_typedescr=>describe_by_data( ls_log-dia )->type_kind ). cl_abap_unit_assert=>assert_equals( exp = cl_abap_typedescr=>typekind_int act = cl_abap_typedescr=>describe_by_data( ls_log-len )->type_kind ). ENDMETHOD. METHOD board_type_is_two_ints. DATA(ls_board) = VALUE {{p}}if_log_plan=>ty_board( thick = 40 width = 200 ). DATA(lo_descr) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_data( ls_board ) ). DATA(lt_comp) = lo_descr->get_components( ). cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lt_comp ) ). cl_abap_unit_assert=>assert_equals( exp = cl_abap_typedescr=>typekind_int act = cl_abap_typedescr=>describe_by_data( ls_board-thick )->type_kind ). cl_abap_unit_assert=>assert_equals( exp = cl_abap_typedescr=>typekind_int act = cl_abap_typedescr=>describe_by_data( ls_board-width )->type_kind ). ENDMETHOD. METHOD signatures_match. DATA(ls_log) = VALUE {{p}}if_log_plan=>ty_log( dia = 300 len = 400 ). DATA(ls_board) = VALUE {{p}}if_log_plan=>ty_board( thick = 40 width = 200 ). DATA(lv_reason) = me->{{p}}if_log_plan~check( is_log = ls_log is_board = ls_board ). DATA(lv_count) = me->{{p}}if_log_plan~board_count( is_log = ls_log is_board = ls_board ). cl_abap_unit_assert=>assert_equals( exp = {{p}}if_log_plan=>c_reason-ok act = lv_reason ). cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_count ). DATA lv_len TYPE i. DESCRIBE FIELD lv_reason LENGTH lv_len IN CHARACTER MODE. cl_abap_unit_assert=>assert_equals( exp = 10 act = lv_len ). cl_abap_unit_assert=>assert_equals( exp = cl_abap_typedescr=>typekind_int act = cl_abap_typedescr=>describe_by_data( lv_count )->type_kind ). ENDMETHOD. ENDCLASS.