Snapshot: new training tasks (balanced generation), docs

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Kral
2026-10-05 22:08:59 +02:00
parent eb13453097
commit 6984fc7917
572 changed files with 30024 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
INTERFACE {{p}}if_log_plan PUBLIC.
TYPES:
ty_reason TYPE c LENGTH 10,
ty_count TYPE i,
BEGIN OF ty_log,
dia TYPE i,
len TYPE i,
END OF ty_log,
BEGIN OF ty_board,
thick TYPE i,
width TYPE i,
END OF ty_board.
CONSTANTS:
BEGIN OF c_reason,
ok TYPE ty_reason VALUE 'OK',
size TYPE ty_reason VALUE 'SIZE',
thick TYPE ty_reason VALUE 'THICK',
width TYPE ty_reason VALUE 'WIDTH',
len TYPE ty_reason VALUE 'LEN',
END OF c_reason,
c_min_thick TYPE i VALUE 20,
c_max_thick TYPE i VALUE 100,
c_min_len TYPE i VALUE 100.
METHODS check
IMPORTING is_log TYPE ty_log
is_board TYPE ty_board
RETURNING VALUE(rv_reason) TYPE ty_reason.
METHODS board_count
IMPORTING is_log TYPE ty_log
is_board TYPE ty_board
RETURNING VALUE(rv_count) TYPE ty_count.
ENDINTERFACE.

View File

@@ -0,0 +1,70 @@
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.