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,127 @@
CLASS {{p}}forge_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
CLASS-DATA go_env TYPE REF TO if_cds_test_environment.
CLASS-METHODS class_setup.
CLASS-METHODS class_teardown.
METHODS setup.
METHODS open_jobs_only FOR TESTING.
METHODS done_job_hidden FOR TESTING.
METHODS job_without_article FOR TESTING.
METHODS job_without_customer FOR TESTING.
METHODS article_fields FOR TESTING.
METHODS customer_fields FOR TESTING.
METHODS heavy_effort FOR TESTING.
METHODS light_effort FOR TESTING.
METHODS exact_limit_light FOR TESTING.
METHODS work_min_shown FOR TESTING.
METHODS boundary_over_limit FOR TESTING.
METHODS missing_article_no_row FOR TESTING.
ENDCLASS.
CLASS {{p}}forge_hidden IMPLEMENTATION.
METHOD class_setup.
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_FORGE_JOB' ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
DATA lt_job TYPE STANDARD TABLE OF {{p}}forgjob WITH EMPTY KEY.
DATA lt_art TYPE STANDARD TABLE OF {{p}}forgart WITH EMPTY KEY.
DATA lt_cus TYPE STANDARD TABLE OF {{p}}forgcus WITH EMPTY KEY.
go_env->clear_doubles( ).
lt_job = VALUE #(
( job_id = 'B1' article_id = 'W1' job_date = '20240301' work_min = 200 job_state = 'O' )
( job_id = 'B2' article_id = 'W2' job_date = '20240302' work_min = 60 job_state = 'O' )
( job_id = 'B3' article_id = 'W3' job_date = '20240303' work_min = 90 job_state = 'O' )
( job_id = 'B4' article_id = 'W1' job_date = '20240304' work_min = 120 job_state = 'D' )
( job_id = 'B5' article_id = 'W4' job_date = '20240305' work_min = 30 job_state = 'O' )
( job_id = 'B6' article_id = 'W1' job_date = '20240306' work_min = 120 job_state = 'O' )
( job_id = 'B7' article_id = 'W2' job_date = '20240307' work_min = 121 job_state = 'O' )
( job_id = 'B8' article_id = 'W9' job_date = '20240308' work_min = 45 job_state = 'O' ) ).
lt_art = VALUE #(
( article_id = 'W1' customer_id = 'K1' article_name = 'GATE' weight_kg = 40 )
( article_id = 'W2' customer_id = 'K2' article_name = 'FENCE' weight_kg = 25 )
( article_id = 'W4' customer_id = 'K9' article_name = 'RAILING' weight_kg = 15 ) ).
lt_cus = VALUE #(
( customer_id = 'K1' customer_name = 'ALPHA' city = 'BREMEN' )
( customer_id = 'K2' customer_name = 'BETA' city = 'KIEL' )
( customer_id = '' customer_name = 'ORPHAN' city = 'NOWHERE' ) ).
go_env->insert_test_data( lt_job ).
go_env->insert_test_data( lt_art ).
go_env->insert_test_data( lt_cus ).
ENDMETHOD.
METHOD open_jobs_only.
SELECT COUNT(*) FROM {{p}}i_forge_job INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = 4 act = lv_count ).
ENDMETHOD.
METHOD done_job_hidden.
SELECT COUNT(*) FROM {{p}}i_forge_job WHERE job_id = 'B4' INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_count ).
ENDMETHOD.
METHOD job_without_article.
SELECT COUNT(*) FROM {{p}}i_forge_job WHERE job_id = 'B3' INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_count ).
ENDMETHOD.
METHOD job_without_customer.
SELECT COUNT(*) FROM {{p}}i_forge_job WHERE job_id = 'B5' INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_count ).
ENDMETHOD.
METHOD article_fields.
SELECT SINGLE article_name, weight_kg FROM {{p}}i_forge_job
WHERE job_id = 'B1' INTO @DATA(ls_row).
cl_abap_unit_assert=>assert_equals( exp = 'GATE' act = ls_row-article_name ).
cl_abap_unit_assert=>assert_equals( exp = 40 act = ls_row-weight_kg ).
ENDMETHOD.
METHOD customer_fields.
SELECT SINGLE customer_name, city FROM {{p}}i_forge_job
WHERE job_id = 'B2' INTO @DATA(ls_row).
cl_abap_unit_assert=>assert_equals( exp = 'BETA' act = ls_row-customer_name ).
cl_abap_unit_assert=>assert_equals( exp = 'KIEL' act = ls_row-city ).
ENDMETHOD.
METHOD heavy_effort.
SELECT SINGLE effort FROM {{p}}i_forge_job
WHERE job_id = 'B1' INTO @DATA(lv_effort).
cl_abap_unit_assert=>assert_equals( exp = 'HEAVY' act = lv_effort ).
ENDMETHOD.
METHOD light_effort.
SELECT SINGLE effort FROM {{p}}i_forge_job
WHERE job_id = 'B2' INTO @DATA(lv_effort).
cl_abap_unit_assert=>assert_equals( exp = 'LIGHT' act = lv_effort ).
ENDMETHOD.
METHOD exact_limit_light.
SELECT SINGLE effort FROM {{p}}i_forge_job
WHERE job_id = 'B6' INTO @DATA(lv_effort).
cl_abap_unit_assert=>assert_equals( exp = 'LIGHT' act = lv_effort ).
ENDMETHOD.
METHOD work_min_shown.
SELECT SINGLE work_min FROM {{p}}i_forge_job
WHERE job_id = 'B6' INTO @DATA(lv_min).
cl_abap_unit_assert=>assert_equals( exp = 120 act = lv_min ).
ENDMETHOD.
METHOD boundary_over_limit.
SELECT SINGLE effort FROM {{p}}i_forge_job
WHERE job_id = 'B7' INTO @DATA(lv_effort).
cl_abap_unit_assert=>assert_equals( exp = 'HEAVY' act = lv_effort ).
ENDMETHOD.
METHOD missing_article_no_row.
SELECT COUNT(*) FROM {{p}}i_forge_job WHERE job_id = 'B8' INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_count ).
ENDMETHOD.
ENDCLASS.