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,82 @@
CLASS {{p}}mix_recipe_test DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PUBLIC SECTION.
INTERFACES {{p}}if_mix_recipe.
PRIVATE SECTION.
DATA mo_cut TYPE REF TO {{p}}if_mix_recipe.
METHODS setup.
METHODS valid_order_is_ok FOR TESTING.
METHODS unknown_grade_is_rejected FOR TESTING.
METHODS volume_out_of_range FOR TESTING.
METHODS mix_of_small_order FOR TESTING.
METHODS mix_of_large_order FOR TESTING.
METHODS invalid_order_has_no_mix FOR TESTING.
ENDCLASS.
CLASS {{p}}mix_recipe_test IMPLEMENTATION.
METHOD setup.
mo_cut = me.
ENDMETHOD.
METHOD valid_order_is_ok.
cl_abap_unit_assert=>assert_equals(
exp = {{p}}if_mix_recipe=>c_status-ok
act = mo_cut->check_order( iv_grade = 'C25' iv_volume = '1.30' ) ).
ENDMETHOD.
METHOD unknown_grade_is_rejected.
cl_abap_unit_assert=>assert_equals(
exp = {{p}}if_mix_recipe=>c_status-grade
act = mo_cut->check_order( iv_grade = 'C40' iv_volume = '5.00' ) ).
ENDMETHOD.
METHOD volume_out_of_range.
cl_abap_unit_assert=>assert_equals(
exp = {{p}}if_mix_recipe=>c_status-volume
act = mo_cut->check_order( iv_grade = 'C20' iv_volume = '25.00' ) ).
ENDMETHOD.
METHOD mix_of_small_order.
DATA(ls_mix) = mo_cut->mix_for( iv_grade = 'C25' iv_volume = '1.30' ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_mix_recipe=>ty_qty( '458.00' )
act = ls_mix-cement_kg ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_mix_recipe=>ty_qty( '1001.00' )
act = ls_mix-sand_kg ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_mix_recipe=>ty_qty( '1659.00' )
act = ls_mix-gravel_kg ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_mix_recipe=>ty_qty( '251.00' )
act = ls_mix-water_l ).
ENDMETHOD.
METHOD mix_of_large_order.
DATA(ls_mix) = mo_cut->mix_for( iv_grade = 'C35' iv_volume = '5.00' ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_mix_recipe=>ty_qty( '2000.00' )
act = ls_mix-cement_kg ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_mix_recipe=>ty_qty( '3300.00' )
act = ls_mix-sand_kg ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_mix_recipe=>ty_qty( '5600.00' )
act = ls_mix-gravel_kg ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_mix_recipe=>ty_qty( '825.00' )
act = ls_mix-water_l ).
ENDMETHOD.
METHOD invalid_order_has_no_mix.
DATA(ls_mix) = mo_cut->mix_for( iv_grade = 'C40' iv_volume = '5.00' ).
cl_abap_unit_assert=>assert_initial( act = ls_mix-grade ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_mix_recipe=>ty_qty( '0.00' )
act = ls_mix-cement_kg ).
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_mix_recipe=>ty_qty( '0.00' )
act = ls_mix-water_l ).
ENDMETHOD.
ENDCLASS.