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,9 @@
@EndUserText.label : 'Common fields of a roast batch'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
define structure {{p}}roast_base {
site : abap.char(4);
batch_no : abap.char(10);
roast_day : abap.dats;
green_kg : abap.dec(9,3);
roasted_kg : abap.dec(9,3);
}

View File

@@ -0,0 +1,14 @@
@EndUserText.label : 'Result of one roast batch'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
define structure {{p}}roast_result {
site : abap.char(4);
batch_no : abap.char(10);
roast_day : abap.dats;
green_kg : abap.dec(9,3);
roasted_kg : abap.dec(9,3);
roast_level : abap.char(1);
roast_min : abap.int4;
loss_pct : abap.dec(5,2);
roaster_id : abap.char(8);
checked : abap.char(1);
}

View File

@@ -0,0 +1,46 @@
CLASS {{p}}roast_test DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS base_has_five_fields FOR TESTING.
METHODS result_has_ten_fields FOR TESTING.
METHODS loss_has_two_decimals FOR TESTING.
METHODS result_starts_with_base FOR TESTING.
ENDCLASS.
CLASS {{p}}roast_test IMPLEMENTATION.
METHOD base_has_five_fields.
DATA(lo_str) = CAST cl_abap_structdescr(
cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_BASE' ) ).
DATA(lt_fields) = lo_str->get_ddic_field_list( ).
cl_abap_unit_assert=>assert_equals( exp = 5 act = lines( lt_fields ) ).
ENDMETHOD.
METHOD result_has_ten_fields.
DATA(lo_str) = CAST cl_abap_structdescr(
cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_RESULT' ) ).
DATA(lt_fields) = lo_str->get_ddic_field_list( ).
cl_abap_unit_assert=>assert_equals( exp = 10 act = lines( lt_fields ) ).
ENDMETHOD.
METHOD loss_has_two_decimals.
DATA(lo_str) = CAST cl_abap_structdescr(
cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_RESULT' ) ).
DATA(lt_fields) = lo_str->get_ddic_field_list( ).
READ TABLE lt_fields INTO DATA(ls_field) WITH KEY fieldname = 'LOSS_PCT'.
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
cl_abap_unit_assert=>assert_equals( exp = 2 act = ls_field-decimals ).
ENDMETHOD.
METHOD result_starts_with_base.
DATA(lo_base) = CAST cl_abap_structdescr(
cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_BASE' ) ).
DATA(lo_res) = CAST cl_abap_structdescr(
cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_RESULT' ) ).
DATA(lt_base) = lo_base->get_ddic_field_list( ).
DATA(lt_res) = lo_res->get_ddic_field_list( ).
cl_abap_unit_assert=>assert_equals( exp = lt_base[ 1 ]-fieldname act = lt_res[ 1 ]-fieldname ).
cl_abap_unit_assert=>assert_equals( exp = lt_base[ 5 ]-fieldname act = lt_res[ 5 ]-fieldname ).
cl_abap_unit_assert=>assert_equals( exp = lt_base[ 5 ]-leng act = lt_res[ 5 ]-leng ).
ENDMETHOD.
ENDCLASS.