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,108 @@
CLASS {{p}}bouquet_check_test DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PUBLIC SECTION.
INTERFACES {{p}}if_bouquet_check.
PRIVATE SECTION.
METHODS bands FOR TESTING.
METHODS reasons FOR TESTING.
METHODS limits FOR TESTING.
METHODS band_is_one_char FOR TESTING.
METHODS reason_is_ten_chars FOR TESTING.
METHODS result_parts FOR TESTING.
METHODS order_contract FOR TESTING.
ENDCLASS.
CLASS {{p}}bouquet_check_test IMPLEMENTATION.
METHOD {{p}}if_bouquet_check~check_order.
rs_result = VALUE #( band = {{p}}if_bouquet_check=>c_band-small
reason = {{p}}if_bouquet_check=>c_reason-ok ).
ENDMETHOD.
METHOD bands.
DATA lv_band TYPE {{p}}if_bouquet_check=>ty_band.
lv_band = {{p}}if_bouquet_check=>c_band-small.
cl_abap_unit_assert=>assert_equals( exp = 'S' act = lv_band ).
lv_band = {{p}}if_bouquet_check=>c_band-medium.
cl_abap_unit_assert=>assert_equals( exp = 'M' act = lv_band ).
lv_band = {{p}}if_bouquet_check=>c_band-large.
cl_abap_unit_assert=>assert_equals( exp = 'L' act = lv_band ).
ENDMETHOD.
METHOD reasons.
DATA lv_exp TYPE {{p}}if_bouquet_check=>ty_reason.
DATA lv_act TYPE {{p}}if_bouquet_check=>ty_reason.
lv_exp = 'OK'.
lv_act = {{p}}if_bouquet_check=>c_reason-ok.
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_act ).
lv_exp = 'INVALID'.
lv_act = {{p}}if_bouquet_check=>c_reason-invalid.
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_act ).
lv_exp = 'SHORT'.
lv_act = {{p}}if_bouquet_check=>c_reason-short.
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_act ).
lv_exp = 'WEIGHT'.
lv_act = {{p}}if_bouquet_check=>c_reason-weight.
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_act ).
lv_exp = 'STEMS'.
lv_act = {{p}}if_bouquet_check=>c_reason-stems.
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_act ).
ENDMETHOD.
METHOD limits.
DATA lv_limit TYPE i.
lv_limit = {{p}}if_bouquet_check=>c_limit-max_stems_small.
cl_abap_unit_assert=>assert_equals( exp = 20 act = lv_limit ).
lv_limit = {{p}}if_bouquet_check=>c_limit-max_stems_medium.
cl_abap_unit_assert=>assert_equals( exp = 40 act = lv_limit ).
lv_limit = {{p}}if_bouquet_check=>c_limit-max_stems_large.
cl_abap_unit_assert=>assert_equals( exp = 60 act = lv_limit ).
lv_limit = {{p}}if_bouquet_check=>c_limit-max_weight_g.
cl_abap_unit_assert=>assert_equals( exp = 3000 act = lv_limit ).
lv_limit = {{p}}if_bouquet_check=>c_limit-min_stem_cm.
cl_abap_unit_assert=>assert_equals( exp = 40 act = lv_limit ).
ENDMETHOD.
METHOD band_is_one_char.
DATA lv_band TYPE {{p}}if_bouquet_check=>ty_band.
lv_band = 'XY'.
cl_abap_unit_assert=>assert_equals( exp = 'X' act = lv_band ).
ENDMETHOD.
METHOD reason_is_ten_chars.
DATA lv_reason TYPE {{p}}if_bouquet_check=>ty_reason.
lv_reason = 'ABCDEFGHIJKL'.
cl_abap_unit_assert=>assert_equals( exp = 'ABCDEFGHIJ' act = lv_reason ).
ENDMETHOD.
METHOD result_parts.
DATA ls_result TYPE {{p}}if_bouquet_check=>ty_result.
DATA(lo_struct) = CAST cl_abap_structdescr(
cl_abap_typedescr=>describe_by_data( ls_result ) ).
DATA(lt_comp) = lo_struct->get_components( ).
cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lt_comp ) ).
cl_abap_unit_assert=>assert_equals( exp = 'BAND'
act = to_upper( lt_comp[ 1 ]-name ) ).
cl_abap_unit_assert=>assert_equals( exp = 'REASON'
act = to_upper( lt_comp[ 2 ]-name ) ).
ls_result-band = 'XY'.
cl_abap_unit_assert=>assert_equals( exp = 'X' act = ls_result-band ).
ls_result-reason = 'ABCDEFGHIJKL'.
cl_abap_unit_assert=>assert_equals( exp = 'ABCDEFGHIJ'
act = ls_result-reason ).
ENDMETHOD.
METHOD order_contract.
DATA mo_cut TYPE REF TO {{p}}if_bouquet_check.
mo_cut = NEW {{p}}bouquet_check_test( ).
DATA(ls_result) = mo_cut->check_order( iv_stems = 25
iv_weight_g = 1200
iv_stem_cm = 45 ).
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_bouquet_check=>c_band-small
act = ls_result-band ).
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_bouquet_check=>c_reason-ok
act = ls_result-reason ).
ENDMETHOD.
ENDCLASS.