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,149 @@
CLASS {{p}}t44_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PUBLIC SECTION.
INTERFACES {{p}}if_piano_tuning.
PRIVATE SECTION.
DATA mo_cut TYPE REF TO {{p}}if_piano_tuning.
METHODS setup.
METHODS code_values FOR TESTING.
METHODS number_values FOR TESTING.
METHODS type_lengths FOR TESTING.
METHODS visit_components FOR TESTING.
METHODS summary_components FOR TESTING.
METHODS visit_table FOR TESTING.
METHODS check_visit_signature FOR TESTING.
METHODS check_visits_signature FOR TESTING.
METHODS summarise_signature FOR TESTING.
METHODS count_blocked_signature FOR TESTING.
METHODS model_signature FOR TESTING.
ENDCLASS.
CLASS {{p}}t44_hidden IMPLEMENTATION.
METHOD {{p}}if_piano_tuning~check_visit.
rv_code = {{p}}if_piano_tuning=>c_code-ok.
ENDMETHOD.
METHOD {{p}}if_piano_tuning~check_visits.
rv_code = {{p}}if_piano_tuning=>c_code-ok.
ENDMETHOD.
METHOD {{p}}if_piano_tuning~summarise.
rs_summary = VALUE #( accepted = lines( it_visits )
first_code = {{p}}if_piano_tuning=>c_code-ok ).
ENDMETHOD.
METHOD {{p}}if_piano_tuning~count_blocked.
ev_count = lines( it_visits ).
ev_code = {{p}}if_piano_tuning=>c_code-ok.
ENDMETHOD.
METHOD {{p}}if_piano_tuning~is_tuning_model.
rv_tuning = abap_true.
ENDMETHOD.
METHOD setup.
mo_cut = me.
ENDMETHOD.
METHOD code_values.
cl_abap_unit_assert=>assert_equals( exp = 'OK' act = {{p}}if_piano_tuning=>c_code-ok ).
cl_abap_unit_assert=>assert_equals( exp = 'NO_VISIT' act = {{p}}if_piano_tuning=>c_code-no_visit ).
cl_abap_unit_assert=>assert_equals( exp = 'MODEL' act = {{p}}if_piano_tuning=>c_code-model ).
cl_abap_unit_assert=>assert_equals( exp = 'PITCH' act = {{p}}if_piano_tuning=>c_code-pitch ).
cl_abap_unit_assert=>assert_equals( exp = 'DISTANCE' act = {{p}}if_piano_tuning=>c_code-distance ).
cl_abap_unit_assert=>assert_equals( exp = 'COUNT' act = {{p}}if_piano_tuning=>c_code-too_many ).
ENDMETHOD.
METHOD number_values.
cl_abap_unit_assert=>assert_equals( exp = 25 act = {{p}}if_piano_tuning=>c_max_pitch ).
cl_abap_unit_assert=>assert_equals( exp = 60 act = {{p}}if_piano_tuning=>c_max_distance ).
cl_abap_unit_assert=>assert_equals( exp = 3 act = {{p}}if_piano_tuning=>c_max_pianos ).
ENDMETHOD.
METHOD type_lengths.
DATA lv_code TYPE {{p}}if_piano_tuning=>ty_code.
DATA lv_model TYPE {{p}}if_piano_tuning=>ty_model.
DATA lv_visit_id TYPE {{p}}if_piano_tuning=>ty_visit_id.
cl_abap_unit_assert=>assert_equals(
exp = 10
act = cl_abap_typedescr=>describe_by_data( lv_code )->length ).
cl_abap_unit_assert=>assert_equals(
exp = 4
act = cl_abap_typedescr=>describe_by_data( lv_model )->length ).
cl_abap_unit_assert=>assert_equals(
exp = 8
act = cl_abap_typedescr=>describe_by_data( lv_visit_id )->length ).
ENDMETHOD.
METHOD visit_components.
DATA ls_visit TYPE {{p}}if_piano_tuning=>ty_visit.
ls_visit-visit_id = 'V-000001'.
ls_visit-model = 'UPRI'.
ls_visit-pitch_dev = 12.
ls_visit-distance_km = 30.
ls_visit-piano_count = 2.
cl_abap_unit_assert=>assert_equals( exp = 'UPRI' act = ls_visit-model ).
cl_abap_unit_assert=>assert_equals( exp = 12 act = ls_visit-pitch_dev ).
cl_abap_unit_assert=>assert_equals( exp = 30 act = ls_visit-distance_km ).
cl_abap_unit_assert=>assert_equals( exp = 2 act = ls_visit-piano_count ).
ENDMETHOD.
METHOD summary_components.
DATA ls_summary TYPE {{p}}if_piano_tuning=>ty_summary.
ls_summary-accepted = 7.
ls_summary-rejected = 3.
ls_summary-first_code = {{p}}if_piano_tuning=>c_code-pitch.
cl_abap_unit_assert=>assert_equals( exp = 7 act = ls_summary-accepted ).
cl_abap_unit_assert=>assert_equals( exp = 3 act = ls_summary-rejected ).
ENDMETHOD.
METHOD visit_table.
DATA lt_visits TYPE {{p}}if_piano_tuning=>tt_visits.
DATA ls_visit TYPE {{p}}if_piano_tuning=>ty_visit.
ls_visit-visit_id = 'V-000002'.
INSERT ls_visit INTO TABLE lt_visits.
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_visits ) ).
ENDMETHOD.
METHOD check_visit_signature.
DATA ls_visit TYPE {{p}}if_piano_tuning=>ty_visit.
ls_visit-visit_id = 'V-000003'.
cl_abap_unit_assert=>assert_equals(
exp = {{p}}if_piano_tuning=>c_code-ok
act = mo_cut->check_visit( is_visit = ls_visit ) ).
ENDMETHOD.
METHOD check_visits_signature.
DATA lt_visits TYPE {{p}}if_piano_tuning=>tt_visits.
cl_abap_unit_assert=>assert_equals(
exp = {{p}}if_piano_tuning=>c_code-ok
act = mo_cut->check_visits( it_visits = lt_visits ) ).
ENDMETHOD.
METHOD summarise_signature.
DATA lt_visits TYPE {{p}}if_piano_tuning=>tt_visits.
DATA ls_summary TYPE {{p}}if_piano_tuning=>ty_summary.
ls_summary = mo_cut->summarise( it_visits = lt_visits ).
cl_abap_unit_assert=>assert_equals( exp = 0 act = ls_summary-accepted ).
ENDMETHOD.
METHOD count_blocked_signature.
DATA lt_visits TYPE {{p}}if_piano_tuning=>tt_visits.
DATA lv_count TYPE i.
DATA lv_code TYPE {{p}}if_piano_tuning=>ty_code.
mo_cut->count_blocked(
EXPORTING it_visits = lt_visits
IMPORTING ev_count = lv_count
ev_code = lv_code ).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_count ).
ENDMETHOD.
METHOD model_signature.
DATA lv_model TYPE {{p}}if_piano_tuning=>ty_model.
lv_model = 'UPRI'.
cl_abap_unit_assert=>assert_equals(
exp = abap_true
act = mo_cut->is_tuning_model( iv_model = lv_model ) ).
ENDMETHOD.
ENDCLASS.