ADT fallback: Accept headers for FUNC; G0189 accepted; regen2 results
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
75
tasks_gen/eval/G0122/reference/track_test.clas.abap
Normal file
75
tasks_gen/eval/G0122/reference/track_test.clas.abap
Normal file
@@ -0,0 +1,75 @@
|
||||
CLASS {{p}}track_test DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES ty_paths TYPE {{P}}TRACK_TYPES=>tt_path.
|
||||
TYPES ty_fees TYPE {{P}}TRACK_TYPES=>tt_fee.
|
||||
TYPES ty_money TYPE {{P}}TRACK_TYPES=>ty_money.
|
||||
|
||||
METHODS fees_for
|
||||
IMPORTING it_paths TYPE ty_paths
|
||||
RETURNING VALUE(rt_fees) TYPE ty_fees.
|
||||
|
||||
METHODS one_category FOR TESTING.
|
||||
METHODS two_categories FOR TESTING.
|
||||
METHODS night_surcharge FOR TESTING.
|
||||
METHODS invalid_distance FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}track_test IMPLEMENTATION.
|
||||
|
||||
METHOD fees_for.
|
||||
CALL FUNCTION '{{P}}TRACK_FEE'
|
||||
EXPORTING
|
||||
it_paths = it_paths
|
||||
IMPORTING
|
||||
et_fees = rt_fees
|
||||
EXCEPTIONS
|
||||
invalid_distance = 1
|
||||
invalid_category = 2
|
||||
OTHERS = 3.
|
||||
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD one_category.
|
||||
DATA lt_paths TYPE ty_paths.
|
||||
lt_paths = VALUE #( ( path_id = '00000001' train_cat = 'SP' distance_km = '10.00' night_flag = '' ) ).
|
||||
DATA(lt_fees) = fees_for( lt_paths ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_fees ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV ty_money( '15.00' ) act = lt_fees[ 1 ]-total_fee ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD two_categories.
|
||||
DATA lt_paths TYPE ty_paths.
|
||||
lt_paths = VALUE #( ( path_id = '00000001' train_cat = 'RG' distance_km = '20.00' night_flag = '' )
|
||||
( path_id = '00000002' train_cat = 'FR' distance_km = '20.00' night_flag = '' ) ).
|
||||
DATA(lt_fees) = fees_for( lt_paths ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lt_fees ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'FR' act = lt_fees[ 1 ]-train_cat ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'RG' act = lt_fees[ 2 ]-train_cat ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD night_surcharge.
|
||||
DATA lt_paths TYPE ty_paths.
|
||||
lt_paths = VALUE #( ( path_id = '00000001' train_cat = 'FR' distance_km = '50.00' night_flag = 'X' ) ).
|
||||
DATA(lt_fees) = fees_for( lt_paths ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV ty_money( '36.00' ) act = lt_fees[ 1 ]-total_fee ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD invalid_distance.
|
||||
DATA lt_paths TYPE ty_paths.
|
||||
lt_paths = VALUE #( ( path_id = '00000001' train_cat = 'IC' distance_km = '0.00' night_flag = '' ) ).
|
||||
DATA lt_fees TYPE ty_fees.
|
||||
CALL FUNCTION '{{P}}TRACK_FEE'
|
||||
EXPORTING
|
||||
it_paths = lt_paths
|
||||
IMPORTING
|
||||
et_fees = lt_fees
|
||||
EXCEPTIONS
|
||||
invalid_distance = 1
|
||||
OTHERS = 2.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = sy-subrc ).
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user