Stage 2 summary at 50 accepted trajectories
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
121
tasks_gen/train/G1093/hidden/mix_hidden.clas.abap
Normal file
121
tasks_gen/train/G1093/hidden/mix_hidden.clas.abap
Normal file
@@ -0,0 +1,121 @@
|
||||
CLASS {{p}}mix_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
METHODS call
|
||||
IMPORTING it_tints TYPE {{P}}PAINT_MIX=>TY_TINTS
|
||||
EXPORTING ev_volume TYPE decfloat34
|
||||
ev_price TYPE decfloat34
|
||||
ev_subrc TYPE sysubrc.
|
||||
METHODS empty_table FOR TESTING.
|
||||
METHODS single_tint FOR TESTING.
|
||||
METHODS duplicate_tints FOR TESTING.
|
||||
METHODS two_tints FOR TESTING.
|
||||
METHODS zero_quantity FOR TESTING.
|
||||
METHODS negative_quantity FOR TESTING.
|
||||
METHODS unknown_tint FOR TESTING.
|
||||
METHODS rounding FOR TESTING.
|
||||
METHODS quantity_checked_first FOR TESTING.
|
||||
METHODS fee_per_distinct_tint FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}mix_hidden IMPLEMENTATION.
|
||||
METHOD call.
|
||||
CALL FUNCTION '{{P}}MIX_PRICE'
|
||||
EXPORTING
|
||||
it_tints = it_tints
|
||||
IMPORTING
|
||||
ev_volume = ev_volume
|
||||
ev_price = ev_price
|
||||
EXCEPTIONS
|
||||
no_components = 1
|
||||
invalid_quantity = 2
|
||||
unknown_tint = 3
|
||||
OTHERS = 4.
|
||||
ev_subrc = sy-subrc.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD empty_table.
|
||||
DATA lt_tints TYPE {{P}}PAINT_MIX=>TY_TINTS.
|
||||
call( EXPORTING it_tints = lt_tints
|
||||
IMPORTING ev_subrc = DATA(lv_subrc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_subrc ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD single_tint.
|
||||
call( EXPORTING it_tints = VALUE #( ( tint_id = 'WHIT' quantity_ml = 1000 ) )
|
||||
IMPORTING ev_volume = DATA(lv_volume)
|
||||
ev_price = DATA(lv_price)
|
||||
ev_subrc = DATA(lv_subrc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 1000 ) act = lv_volume ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '21.5' ) act = lv_price ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD duplicate_tints.
|
||||
call( EXPORTING it_tints = VALUE #( ( tint_id = 'WHIT' quantity_ml = 1000 )
|
||||
( tint_id = 'WHIT' quantity_ml = 500 ) )
|
||||
IMPORTING ev_volume = DATA(lv_volume)
|
||||
ev_price = DATA(lv_price)
|
||||
ev_subrc = DATA(lv_subrc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 1500 ) act = lv_volume ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '31.5' ) act = lv_price ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD two_tints.
|
||||
call( EXPORTING it_tints = VALUE #( ( tint_id = 'WHIT' quantity_ml = 1000 )
|
||||
( tint_id = 'BLUE' quantity_ml = 200 ) )
|
||||
IMPORTING ev_volume = DATA(lv_volume)
|
||||
ev_price = DATA(lv_price)
|
||||
ev_subrc = DATA(lv_subrc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 1200 ) act = lv_volume ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 32 ) act = lv_price ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zero_quantity.
|
||||
call( EXPORTING it_tints = VALUE #( ( tint_id = 'WHIT' quantity_ml = 0 ) )
|
||||
IMPORTING ev_subrc = DATA(lv_subrc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = lv_subrc ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD negative_quantity.
|
||||
call( EXPORTING it_tints = VALUE #( ( tint_id = 'BLUE' quantity_ml = -5 ) )
|
||||
IMPORTING ev_subrc = DATA(lv_subrc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = lv_subrc ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD unknown_tint.
|
||||
call( EXPORTING it_tints = VALUE #( ( tint_id = 'XXXX' quantity_ml = 100 ) )
|
||||
IMPORTING ev_subrc = DATA(lv_subrc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 3 act = lv_subrc ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rounding.
|
||||
call( EXPORTING it_tints = VALUE #( ( tint_id = 'BLUE' quantity_ml = 111 ) )
|
||||
IMPORTING ev_price = DATA(lv_price)
|
||||
ev_subrc = DATA(lv_subrc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '6.5' ) act = lv_price ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD quantity_checked_first.
|
||||
call( EXPORTING it_tints = VALUE #( ( tint_id = 'XXXX' quantity_ml = 100 )
|
||||
( tint_id = 'WHIT' quantity_ml = 0 ) )
|
||||
IMPORTING ev_subrc = DATA(lv_subrc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = lv_subrc ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD fee_per_distinct_tint.
|
||||
call( EXPORTING it_tints = VALUE #( ( tint_id = 'WHIT' quantity_ml = 100 )
|
||||
( tint_id = 'WHIT' quantity_ml = 100 )
|
||||
( tint_id = 'BLUE' quantity_ml = 100 ) )
|
||||
IMPORTING ev_volume = DATA(lv_volume)
|
||||
ev_price = DATA(lv_price)
|
||||
ev_subrc = DATA(lv_subrc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 300 ) act = lv_volume ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '11.5' ) act = lv_price ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user