Stage 2 summary at 50 accepted trajectories
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
135
tasks_gen/train/G1129/reference/t14_test.clas.abap
Normal file
135
tasks_gen/train/G1129/reference/t14_test.clas.abap
Normal file
@@ -0,0 +1,135 @@
|
||||
CLASS {{p}}t14_test DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
METHODS prepare
|
||||
IMPORTING iv_week TYPE string
|
||||
it_book TYPE STANDARD TABLE OF {{P}}MEALBK.
|
||||
METHODS cleanup
|
||||
IMPORTING iv_week TYPE string.
|
||||
METHODS bill
|
||||
IMPORTING iv_week TYPE string
|
||||
EXPORTING ev_meals TYPE decfloat34
|
||||
ev_pupils TYPE decfloat34
|
||||
ev_amount TYPE decfloat34
|
||||
ev_discount TYPE decfloat34.
|
||||
METHODS sums_two_pupils FOR TESTING.
|
||||
METHODS skips_cancelled FOR TESTING.
|
||||
METHODS discount_from_five FOR TESTING.
|
||||
METHODS rejects_negative_price FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}t14_test IMPLEMENTATION.
|
||||
METHOD prepare.
|
||||
cleanup( iv_week ).
|
||||
INSERT {{P}}MEALBK FROM TABLE @it_book.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD cleanup.
|
||||
DELETE FROM {{P}}MEALBK WHERE week_key = @iv_week.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD bill.
|
||||
CALL FUNCTION '{{P}}MEAL_BILL'
|
||||
EXPORTING
|
||||
iv_week = iv_week
|
||||
IMPORTING
|
||||
ev_meals = ev_meals
|
||||
ev_pupils = ev_pupils
|
||||
ev_amount = ev_amount
|
||||
ev_discount = ev_discount
|
||||
EXCEPTIONS
|
||||
invalid_price = 1
|
||||
OTHERS = 2.
|
||||
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD sums_two_pupils.
|
||||
DATA lv_week TYPE string VALUE 'R-SUM1'.
|
||||
|
||||
prepare( iv_week = lv_week
|
||||
it_book = VALUE #(
|
||||
( week_key = 'R-SUM1' pupil = 'A' meal_no = 1 meal = 'LUNCH' price = '2.50' )
|
||||
( week_key = 'R-SUM1' pupil = 'A' meal_no = 2 meal = 'LUNCH' price = '3.00' )
|
||||
( week_key = 'R-SUM1' pupil = 'B' meal_no = 1 meal = 'LUNCH' price = '4.00' ) ) ).
|
||||
|
||||
bill( EXPORTING iv_week = lv_week
|
||||
IMPORTING ev_meals = DATA(lv_meals)
|
||||
ev_pupils = DATA(lv_pupils)
|
||||
ev_amount = DATA(lv_amount)
|
||||
ev_discount = DATA(lv_discount) ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 3 ) act = lv_meals ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 2 ) act = lv_pupils ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '9.50' ) act = lv_amount ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 0 ) act = lv_discount ).
|
||||
|
||||
cleanup( lv_week ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD skips_cancelled.
|
||||
DATA lv_week TYPE string VALUE 'R-CANC'.
|
||||
|
||||
prepare( iv_week = lv_week
|
||||
it_book = VALUE #(
|
||||
( week_key = 'R-CANC' pupil = 'A' meal_no = 1 meal = 'LUNCH' price = '2.00' )
|
||||
( week_key = 'R-CANC' pupil = 'A' meal_no = 2 meal = 'LUNCH' price = '5.00' cancelled = 'X' ) ) ).
|
||||
|
||||
bill( EXPORTING iv_week = lv_week
|
||||
IMPORTING ev_meals = DATA(lv_meals)
|
||||
ev_pupils = DATA(lv_pupils)
|
||||
ev_amount = DATA(lv_amount)
|
||||
ev_discount = DATA(lv_discount) ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 1 ) act = lv_meals ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '2.00' ) act = lv_amount ).
|
||||
|
||||
cleanup( lv_week ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD discount_from_five.
|
||||
DATA lv_week TYPE string VALUE 'R-DISC'.
|
||||
|
||||
prepare( iv_week = lv_week
|
||||
it_book = VALUE #(
|
||||
( week_key = 'R-DISC' pupil = 'A' meal_no = 1 meal = 'LUNCH' price = '9.99' )
|
||||
( week_key = 'R-DISC' pupil = 'A' meal_no = 2 meal = 'LUNCH' price = '9.99' )
|
||||
( week_key = 'R-DISC' pupil = 'A' meal_no = 3 meal = 'LUNCH' price = '9.99' )
|
||||
( week_key = 'R-DISC' pupil = 'A' meal_no = 4 meal = 'LUNCH' price = '9.99' )
|
||||
( week_key = 'R-DISC' pupil = 'A' meal_no = 5 meal = 'LUNCH' price = '9.99' ) ) ).
|
||||
|
||||
bill( EXPORTING iv_week = lv_week
|
||||
IMPORTING ev_meals = DATA(lv_meals)
|
||||
ev_pupils = DATA(lv_pupils)
|
||||
ev_amount = DATA(lv_amount)
|
||||
ev_discount = DATA(lv_discount) ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 5 ) act = lv_meals ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '44.96' ) act = lv_amount ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '4.99' ) act = lv_discount ).
|
||||
|
||||
cleanup( lv_week ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rejects_negative_price.
|
||||
DATA lv_week TYPE string VALUE 'R-NEG'.
|
||||
DATA lv_amount TYPE decfloat34.
|
||||
|
||||
prepare( iv_week = lv_week
|
||||
it_book = VALUE #(
|
||||
( week_key = 'R-NEG' pupil = 'A' meal_no = 1 meal = 'LUNCH' price = '-1.00' ) ) ).
|
||||
|
||||
CALL FUNCTION '{{P}}MEAL_BILL'
|
||||
EXPORTING
|
||||
iv_week = lv_week
|
||||
IMPORTING
|
||||
ev_amount = lv_amount
|
||||
EXCEPTIONS
|
||||
invalid_price = 1
|
||||
OTHERS = 2.
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = sy-subrc ).
|
||||
|
||||
cleanup( lv_week ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user