Hard batch G0022-G0026: 5/5 accepted; budget floor, CDS checks, mutation check
- generator: budget floor (2x oracle activations, 3x calls), static checks for CDS $parameters and UNION annotation - harness/mutation.py: deterministic mutants of the reference; hidden tests must fail - G0022 revalidated with harness fixes: oracle 100, null 0 - results in docs/faz1-tasarim.md 11f Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
43
tasks_gen/eval/G0026/reference/rent_price.func.abap
Normal file
43
tasks_gen/eval/G0026/reference/rent_price.func.abap
Normal file
@@ -0,0 +1,43 @@
|
||||
FUNCTION {{p}}rent_price
|
||||
IMPORTING
|
||||
iv_vehicle_class TYPE string
|
||||
iv_minutes TYPE i
|
||||
iv_km TYPE i
|
||||
iv_member TYPE abap_bool
|
||||
iv_weekend TYPE abap_bool
|
||||
EXPORTING
|
||||
ev_time_fee TYPE decfloat34
|
||||
ev_distance_fee TYPE decfloat34
|
||||
ev_surcharge TYPE decfloat34
|
||||
ev_discount TYPE decfloat34
|
||||
ev_total TYPE decfloat34
|
||||
EXCEPTIONS
|
||||
invalid_duration
|
||||
invalid_distance
|
||||
invalid_class.
|
||||
|
||||
DATA ls_request TYPE {{p}}cl_rent=>ty_request.
|
||||
ls_request-vehicle_class = iv_vehicle_class.
|
||||
ls_request-minutes = iv_minutes.
|
||||
ls_request-km = iv_km.
|
||||
ls_request-member = iv_member.
|
||||
ls_request-weekend = iv_weekend.
|
||||
|
||||
DATA(ls_result) = {{p}}cl_rent=>calculate( ls_request ).
|
||||
|
||||
CASE ls_result-err_code.
|
||||
WHEN {{p}}cl_rent=>c_err-duration.
|
||||
RAISE invalid_duration.
|
||||
WHEN {{p}}cl_rent=>c_err-distance.
|
||||
RAISE invalid_distance.
|
||||
WHEN {{p}}cl_rent=>c_err-bad_class.
|
||||
RAISE invalid_class.
|
||||
WHEN OTHERS.
|
||||
ev_time_fee = ls_result-time_fee.
|
||||
ev_distance_fee = ls_result-distance_fee.
|
||||
ev_surcharge = ls_result-surcharge.
|
||||
ev_discount = ls_result-discount.
|
||||
ev_total = ls_result-total.
|
||||
ENDCASE.
|
||||
|
||||
ENDFUNCTION.
|
||||
Reference in New Issue
Block a user