Step F first pass: 81/92 accepted; budget floor 60 calls; rejected slots moved for regeneration
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
120
tasks_gen/eval/G0185/hidden/t14_hidden.clas.abap
Normal file
120
tasks_gen/eval/G0185/hidden/t14_hidden.clas.abap
Normal file
@@ -0,0 +1,120 @@
|
||||
CLASS {{p}}t14_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
METHODS call
|
||||
IMPORTING iv_quantity TYPE decfloat34
|
||||
iv_scrap TYPE decfloat34
|
||||
iv_rework TYPE decfloat34 DEFAULT 0
|
||||
EXPORTING ev_pct TYPE decfloat34
|
||||
ev_severity TYPE string
|
||||
ev_rework TYPE decfloat34
|
||||
ev_subrc TYPE sysubrc.
|
||||
METHODS percent_rounds_half_up FOR TESTING.
|
||||
METHODS zero_scrap_is_ok FOR TESTING.
|
||||
METHODS low_upper_boundary FOR TESTING.
|
||||
METHODS high_lower_boundary FOR TESTING.
|
||||
METHODS high_upper_boundary FOR TESTING.
|
||||
METHODS critical_above_twenty FOR TESTING.
|
||||
METHODS rework_unchanged_for_low FOR TESTING.
|
||||
METHODS rework_set_for_high FOR TESTING.
|
||||
METHODS quantity_zero_raises FOR TESTING.
|
||||
METHODS scrap_negative_raises FOR TESTING.
|
||||
METHODS scrap_above_quantity_raises FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}t14_hidden IMPLEMENTATION.
|
||||
METHOD call.
|
||||
ev_pct = 0.
|
||||
ev_severity = ``.
|
||||
ev_rework = iv_rework.
|
||||
CALL FUNCTION '{{P}}PRD_SCRAP'
|
||||
EXPORTING
|
||||
iv_quantity = iv_quantity
|
||||
iv_scrap = iv_scrap
|
||||
IMPORTING
|
||||
ev_scrap_pct = ev_pct
|
||||
ev_severity = ev_severity
|
||||
CHANGING
|
||||
cv_rework_qty = ev_rework
|
||||
EXCEPTIONS
|
||||
invalid_quantity = 1
|
||||
scrap_too_high = 2
|
||||
OTHERS = 3.
|
||||
ev_subrc = sy-subrc.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD percent_rounds_half_up.
|
||||
call( EXPORTING iv_quantity = 800 iv_scrap = 7
|
||||
IMPORTING ev_pct = DATA(lv_pct) ev_severity = DATA(lv_sev) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '0.9' ) act = lv_pct ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = `LOW` act = lv_sev ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zero_scrap_is_ok.
|
||||
call( EXPORTING iv_quantity = 100 iv_scrap = 0
|
||||
IMPORTING ev_pct = DATA(lv_pct) ev_severity = DATA(lv_sev) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 0 ) act = lv_pct ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = `OK` act = lv_sev ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD low_upper_boundary.
|
||||
call( EXPORTING iv_quantity = 100 iv_scrap = 5
|
||||
IMPORTING ev_pct = DATA(lv_pct) ev_severity = DATA(lv_sev) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 5 ) act = lv_pct ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = `LOW` act = lv_sev ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD high_lower_boundary.
|
||||
call( EXPORTING iv_quantity = 100 iv_scrap = '5.1'
|
||||
IMPORTING ev_pct = DATA(lv_pct) ev_severity = DATA(lv_sev) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '5.1' ) act = lv_pct ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = `HIGH` act = lv_sev ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD high_upper_boundary.
|
||||
call( EXPORTING iv_quantity = 100 iv_scrap = 20
|
||||
IMPORTING ev_pct = DATA(lv_pct) ev_severity = DATA(lv_sev) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 20 ) act = lv_pct ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = `HIGH` act = lv_sev ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD critical_above_twenty.
|
||||
call( EXPORTING iv_quantity = 100 iv_scrap = '20.1'
|
||||
IMPORTING ev_pct = DATA(lv_pct) ev_severity = DATA(lv_sev) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '20.1' ) act = lv_pct ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = `CRITICAL` act = lv_sev ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rework_unchanged_for_low.
|
||||
call( EXPORTING iv_quantity = 200 iv_scrap = 4 iv_rework = 99
|
||||
IMPORTING ev_rework = DATA(lv_rework) ev_severity = DATA(lv_sev) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = `LOW` act = lv_sev ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 99 ) act = lv_rework ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rework_set_for_high.
|
||||
call( EXPORTING iv_quantity = 100 iv_scrap = 10 iv_rework = 99
|
||||
IMPORTING ev_rework = DATA(lv_rework) ev_severity = DATA(lv_sev) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = `HIGH` act = lv_sev ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 10 ) act = lv_rework ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD quantity_zero_raises.
|
||||
call( EXPORTING iv_quantity = 0 iv_scrap = 0
|
||||
IMPORTING ev_subrc = DATA(lv_rc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_rc ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD scrap_negative_raises.
|
||||
call( EXPORTING iv_quantity = 100 iv_scrap = -1
|
||||
IMPORTING ev_subrc = DATA(lv_rc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_rc ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD scrap_above_quantity_raises.
|
||||
call( EXPORTING iv_quantity = 100 iv_scrap = 101
|
||||
IMPORTING ev_subrc = DATA(lv_rc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = lv_rc ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user