Files
abap-llm/tasks_gen/eval/G0165/reference/t_rental_test.clas.abap

40 lines
1.5 KiB
ABAP

CLASS {{p}}t_rental_test DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
CLASS-DATA go_env TYPE REF TO if_cds_test_environment.
CLASS-METHODS class_setup.
CLASS-METHODS class_teardown.
METHODS setup.
METHODS total_of_one_rental FOR TESTING.
ENDCLASS.
CLASS {{p}}t_rental_test IMPLEMENTATION.
METHOD class_setup.
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_RENTAL_TOTAL' ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
go_env->clear_doubles( ).
ENDMETHOD.
METHOD total_of_one_rental.
DATA lt_rental TYPE STANDARD TABLE OF {{p}}rental WITH EMPTY KEY.
DATA lt_charge TYPE STANDARD TABLE OF {{p}}charge WITH EMPTY KEY.
lt_rental = VALUE #( ( rental_id = 'A1' customer = 'K1' pickup_date = '20240101' ) ).
lt_charge = VALUE #( ( rental_id = 'A1' charge_no = 1 customer = 'K1' charge_type = 'FUEL' amount = '12.00' )
( rental_id = 'A1' charge_no = 2 customer = 'K1' charge_type = 'TOLL' amount = '3.00' ) ).
go_env->insert_test_data( lt_rental ).
go_env->insert_test_data( lt_charge ).
SELECT SINGLE charge_count, total_amount FROM {{p}}i_rental_total WHERE rental_id = 'A1'
INTO @DATA(ls_total).
cl_abap_unit_assert=>assert_equals( exp = 2 act = ls_total-charge_count ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '15.00' )
act = CONV decfloat34( ls_total-total_amount ) ).
ENDMETHOD.
ENDCLASS.