CLASS {{p}}if_log_plan_test DEFINITION PUBLIC FINAL CREATE PUBLIC FOR TESTING DURATION SHORT RISK LEVEL HARMLESS. PUBLIC SECTION. INTERFACES {{p}}if_log_plan. PRIVATE SECTION. METHODS reasons_are_set FOR TESTING. METHODS limits_are_set FOR TESTING. METHODS types_are_set FOR TESTING. METHODS signatures_match FOR TESTING. ENDCLASS. CLASS {{p}}if_log_plan_test 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 reasons_are_set. cl_abap_unit_assert=>assert_equals( exp = 'OK' act = {{p}}if_log_plan=>c_reason-ok ). cl_abap_unit_assert=>assert_equals( exp = 'SIZE' act = {{p}}if_log_plan=>c_reason-size ). cl_abap_unit_assert=>assert_equals( exp = 'THICK' act = {{p}}if_log_plan=>c_reason-thick ). cl_abap_unit_assert=>assert_equals( exp = 'WIDTH' act = {{p}}if_log_plan=>c_reason-width ). 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 ). ENDMETHOD. METHOD types_are_set. DATA lv_len TYPE i. DATA lv_reason TYPE {{p}}if_log_plan=>ty_reason. DESCRIBE FIELD lv_reason LENGTH lv_len IN CHARACTER MODE. cl_abap_unit_assert=>assert_equals( exp = 10 act = lv_len ). DATA(ls_log) = VALUE {{p}}if_log_plan=>ty_log( dia = 300 len = 400 ). DATA(lo_log) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_data( ls_log ) ). cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lo_log->get_components( ) ) ). DATA(ls_board) = VALUE {{p}}if_log_plan=>ty_board( thick = 40 width = 200 ). DATA(lo_board) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_data( ls_board ) ). cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lo_board->get_components( ) ) ). 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 ). ENDMETHOD. ENDCLASS.