Stage 2 summary at 50 accepted trajectories
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
49
tasks_gen/train/G1096/reference/adopt_review.func.abap
Normal file
49
tasks_gen/train/G1096/reference/adopt_review.func.abap
Normal file
@@ -0,0 +1,49 @@
|
||||
FUNCTION {{p}}adopt_review
|
||||
IMPORTING
|
||||
iv_species TYPE string
|
||||
iv_age_years TYPE i
|
||||
iv_housing TYPE string
|
||||
iv_garden TYPE abap_bool
|
||||
iv_pets TYPE i
|
||||
EXPORTING
|
||||
ev_deposit TYPE decfloat34
|
||||
ev_visit_day TYPE string
|
||||
RAISING
|
||||
{{p}}cx_adopt_reject.
|
||||
|
||||
IF iv_age_years < 18.
|
||||
RAISE EXCEPTION NEW {{p}}cx_adopt_reject( iv_reason = 'TOO_YOUNG' ).
|
||||
ENDIF.
|
||||
|
||||
DATA lv_deposit TYPE decfloat34.
|
||||
CASE iv_species.
|
||||
WHEN 'DOG'.
|
||||
lv_deposit = 150.
|
||||
WHEN 'CAT'.
|
||||
lv_deposit = 80.
|
||||
WHEN 'RABBIT'.
|
||||
lv_deposit = 40.
|
||||
WHEN OTHERS.
|
||||
RAISE EXCEPTION NEW {{p}}cx_adopt_reject( iv_reason = 'UNKNOWN_SPECIES' ).
|
||||
ENDCASE.
|
||||
|
||||
IF iv_species = 'DOG' AND iv_housing = 'FLAT' AND iv_garden = abap_false.
|
||||
RAISE EXCEPTION NEW {{p}}cx_adopt_reject( iv_reason = 'NO_GARDEN' ).
|
||||
ENDIF.
|
||||
|
||||
IF iv_pets > 2.
|
||||
RAISE EXCEPTION NEW {{p}}cx_adopt_reject( iv_reason = 'TOO_MANY_PETS' ).
|
||||
ENDIF.
|
||||
|
||||
IF iv_pets > 0.
|
||||
lv_deposit = lv_deposit + 12.
|
||||
ENDIF.
|
||||
ev_deposit = lv_deposit.
|
||||
|
||||
IF iv_garden = abap_true.
|
||||
ev_visit_day = 'SAT'.
|
||||
ELSE.
|
||||
ev_visit_day = 'WED'.
|
||||
ENDIF.
|
||||
|
||||
ENDFUNCTION.
|
||||
76
tasks_gen/train/G1096/reference/adopt_test.clas.abap
Normal file
76
tasks_gen/train/G1096/reference/adopt_test.clas.abap
Normal file
@@ -0,0 +1,76 @@
|
||||
CLASS {{p}}adopt_test DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
TYPES: BEGIN OF ty_result,
|
||||
deposit TYPE decfloat34,
|
||||
visit_day TYPE string,
|
||||
reason TYPE string,
|
||||
END OF ty_result.
|
||||
|
||||
METHODS review
|
||||
IMPORTING iv_species TYPE string
|
||||
iv_age_years TYPE i
|
||||
iv_housing TYPE string
|
||||
iv_garden TYPE abap_bool
|
||||
iv_pets TYPE i
|
||||
RETURNING VALUE(rs_result) TYPE ty_result.
|
||||
|
||||
METHODS dog_deposit FOR TESTING.
|
||||
METHODS surcharge FOR TESTING.
|
||||
METHODS visit_day FOR TESTING.
|
||||
METHODS too_young FOR TESTING.
|
||||
METHODS no_garden FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}adopt_test IMPLEMENTATION.
|
||||
METHOD review.
|
||||
TRY.
|
||||
CALL FUNCTION '{{P}}ADOPT_REVIEW'
|
||||
EXPORTING
|
||||
iv_species = iv_species
|
||||
iv_age_years = iv_age_years
|
||||
iv_housing = iv_housing
|
||||
iv_garden = iv_garden
|
||||
iv_pets = iv_pets
|
||||
IMPORTING
|
||||
ev_deposit = rs_result-deposit
|
||||
ev_visit_day = rs_result-visit_day.
|
||||
CATCH {{p}}cx_adopt_reject INTO DATA(lo_error).
|
||||
rs_result-reason = lo_error->mv_reason.
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD dog_deposit.
|
||||
DATA(ls_result) = review( iv_species = `DOG` iv_age_years = 30 iv_housing = `HOUSE`
|
||||
iv_garden = abap_false iv_pets = 0 ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 150 ) act = ls_result-deposit ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD surcharge.
|
||||
DATA(ls_result) = review( iv_species = `CAT` iv_age_years = 25 iv_housing = `FLAT`
|
||||
iv_garden = abap_false iv_pets = 1 ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 92 ) act = ls_result-deposit ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD visit_day.
|
||||
DATA(ls_sat) = review( iv_species = `RABBIT` iv_age_years = 20 iv_housing = `HOUSE`
|
||||
iv_garden = abap_true iv_pets = 0 ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = `SAT` act = ls_sat-visit_day ).
|
||||
DATA(ls_wed) = review( iv_species = `RABBIT` iv_age_years = 20 iv_housing = `FLAT`
|
||||
iv_garden = abap_false iv_pets = 0 ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = `WED` act = ls_wed-visit_day ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD too_young.
|
||||
DATA(ls_result) = review( iv_species = `CAT` iv_age_years = 17 iv_housing = `HOUSE`
|
||||
iv_garden = abap_true iv_pets = 0 ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = `TOO_YOUNG` act = ls_result-reason ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD no_garden.
|
||||
DATA(ls_result) = review( iv_species = `DOG` iv_age_years = 30 iv_housing = `FLAT`
|
||||
iv_garden = abap_false iv_pets = 0 ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = `NO_GARDEN` act = ls_result-reason ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
21
tasks_gen/train/G1096/reference/cx_adopt_reject.clas.abap
Normal file
21
tasks_gen/train/G1096/reference/cx_adopt_reject.clas.abap
Normal file
@@ -0,0 +1,21 @@
|
||||
CLASS {{p}}cx_adopt_reject DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM cx_static_check
|
||||
FINAL
|
||||
CREATE PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
DATA mv_reason TYPE string READ-ONLY.
|
||||
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
iv_reason TYPE string.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}cx_adopt_reject IMPLEMENTATION.
|
||||
METHOD constructor.
|
||||
super->constructor( ).
|
||||
mv_reason = iv_reason.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user