Files
abap-llm/tasks_gen/eval/G0173/reference/kart_test.clas.abap

71 lines
2.0 KiB
ABAP

CLASS {{p}}kart_test DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS fee_for IMPORTING iv_laps TYPE i iv_age TYPE i iv_member TYPE abap_bool
RETURNING VALUE(rv_fee) TYPE decfloat34.
METHODS invalid_laps FOR TESTING.
METHODS adult_base_fee FOR TESTING.
METHODS member_discount FOR TESTING.
METHODS minimum_fee FOR TESTING.
METHODS junior_fee FOR TESTING.
ENDCLASS.
CLASS {{p}}kart_test IMPLEMENTATION.
METHOD fee_for.
DATA lv_discount TYPE abap_bool.
CALL FUNCTION '{{P}}KART_FEE'
EXPORTING
iv_laps = iv_laps
iv_driver_age = iv_age
iv_member = iv_member
IMPORTING
ev_discount = lv_discount
CHANGING
cv_fee = rv_fee
EXCEPTIONS
invalid_laps = 1
OTHERS = 2.
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
ENDMETHOD.
METHOD invalid_laps.
DATA lv_fee TYPE decfloat34.
CALL FUNCTION '{{P}}KART_FEE'
EXPORTING
iv_laps = 0
iv_driver_age = 30
iv_member = abap_false
CHANGING
cv_fee = lv_fee
EXCEPTIONS
invalid_laps = 1
OTHERS = 2.
cl_abap_unit_assert=>assert_equals( exp = 1 act = sy-subrc ).
ENDMETHOD.
METHOD adult_base_fee.
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( 30 )
act = fee_for( iv_laps = 20 iv_age = 30 iv_member = abap_false ) ).
ENDMETHOD.
METHOD member_discount.
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( 27 )
act = fee_for( iv_laps = 20 iv_age = 30 iv_member = abap_true ) ).
ENDMETHOD.
METHOD minimum_fee.
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( 20 )
act = fee_for( iv_laps = 5 iv_age = 30 iv_member = abap_false ) ).
ENDMETHOD.
METHOD junior_fee.
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( 20 )
act = fee_for( iv_laps = 10 iv_age = 15 iv_member = abap_false ) ).
ENDMETHOD.
ENDCLASS.