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:
93
tasks_gen/eval/G0126/faulty/m4_bag_drop.clas.abap
Normal file
93
tasks_gen/eval/G0126/faulty/m4_bag_drop.clas.abap
Normal file
@@ -0,0 +1,93 @@
|
||||
CLASS {{p}}bag_drop DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
TYPES:
|
||||
ty_tag TYPE c LENGTH 10,
|
||||
ty_weight TYPE p LENGTH 5 DECIMALS 2,
|
||||
ty_size TYPE i,
|
||||
ty_count TYPE i,
|
||||
ty_minutes TYPE i.
|
||||
|
||||
METHODS accept_bag
|
||||
IMPORTING
|
||||
iv_tag TYPE ty_tag
|
||||
iv_weight TYPE ty_weight
|
||||
iv_length TYPE ty_size
|
||||
iv_width TYPE ty_size
|
||||
iv_height TYPE ty_size
|
||||
iv_bags_checked TYPE ty_count
|
||||
iv_min_to_dep TYPE ty_minutes
|
||||
RAISING
|
||||
{{p}}cx_bag_tag
|
||||
{{p}}cx_bag_weight
|
||||
{{p}}cx_bag_size
|
||||
{{p}}cx_bag_limit
|
||||
{{p}}cx_bag_late.
|
||||
|
||||
PRIVATE SECTION.
|
||||
CONSTANTS:
|
||||
c_max_weight TYPE ty_weight VALUE 23,
|
||||
c_max_size TYPE ty_size VALUE 158,
|
||||
c_max_bags TYPE ty_count VALUE 2,
|
||||
c_min_minutes TYPE ty_minutes VALUE 40.
|
||||
|
||||
METHODS check_tag
|
||||
IMPORTING iv_tag TYPE ty_tag
|
||||
RAISING {{p}}cx_bag_tag.
|
||||
METHODS check_weight
|
||||
IMPORTING iv_weight TYPE ty_weight
|
||||
RAISING {{p}}cx_bag_weight.
|
||||
METHODS check_size
|
||||
IMPORTING iv_length TYPE ty_size
|
||||
iv_width TYPE ty_size
|
||||
iv_height TYPE ty_size
|
||||
RAISING {{p}}cx_bag_size.
|
||||
METHODS check_bag_count
|
||||
IMPORTING iv_bags_checked TYPE ty_count
|
||||
RAISING {{p}}cx_bag_limit.
|
||||
METHODS check_departure
|
||||
IMPORTING iv_min_to_dep TYPE ty_minutes
|
||||
RAISING {{p}}cx_bag_late.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}bag_drop IMPLEMENTATION.
|
||||
METHOD accept_bag.
|
||||
check_tag( iv_tag ).
|
||||
check_weight( iv_weight ).
|
||||
check_size( iv_length = iv_length
|
||||
iv_width = iv_width
|
||||
iv_height = iv_height ).
|
||||
check_bag_count( iv_bags_checked ).
|
||||
check_departure( iv_min_to_dep ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD check_tag.
|
||||
IF iv_tag CN '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'.
|
||||
RAISE EXCEPTION TYPE {{p}}cx_bag_tag.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD check_weight.
|
||||
IF iv_weight > c_max_weight.
|
||||
RAISE EXCEPTION TYPE {{p}}cx_bag_weight.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD check_size.
|
||||
IF iv_length + iv_width + iv_height > c_max_size.
|
||||
RAISE EXCEPTION TYPE {{p}}cx_bag_size.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD check_bag_count.
|
||||
IF iv_bags_checked >= c_max_bags.
|
||||
RAISE EXCEPTION TYPE {{p}}cx_bag_limit.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD check_departure.
|
||||
IF iv_min_to_dep >= c_min_minutes.
|
||||
RAISE EXCEPTION TYPE {{p}}cx_bag_late.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user