Files
abap-llm/tasks_gen/train/G1096/reference/adopt_test.clas.abap
2026-10-05 18:02:52 +02:00

77 lines
2.9 KiB
ABAP

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.