Files
abap-llm/tasks_gen/eval/G0155/reference/t41_test.clas.abap

45 lines
1.8 KiB
ABAP

CLASS {{p}}t41_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 day_profile FOR TESTING.
ENDCLASS.
CLASS {{p}}t41_test IMPLEMENTATION.
METHOD class_setup.
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_MACHINE_DAY' ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
DATA lt_mach TYPE STANDARD TABLE OF {{p}}mach WITH EMPTY KEY.
DATA lt_sensor TYPE STANDARD TABLE OF {{p}}sensor WITH EMPTY KEY.
go_env->clear_doubles( ).
lt_mach = VALUE #( ( machine_id = 'A1' machine_name = 'Mill' plant = '3000' ) ).
lt_sensor = VALUE #(
( machine_id = 'A1' reading_no = 1 reading_date = '20240201' sensor = 'TEMP' reading_value = '60.00' )
( machine_id = 'A1' reading_no = 2 reading_date = '20240201' sensor = 'TEMP' reading_value = '90.00' ) ).
go_env->insert_test_data( lt_mach ).
go_env->insert_test_data( lt_sensor ).
ENDMETHOD.
METHOD day_profile.
SELECT SINGLE reading_count FROM {{p}}i_machine_day
WHERE machine_id = 'A1' AND reading_date = '20240201' INTO @DATA(lv_count).
SELECT SINGLE max_value FROM {{p}}i_machine_day
WHERE machine_id = 'A1' AND reading_date = '20240201' INTO @DATA(lv_max).
SELECT SINGLE alert_count FROM {{p}}i_machine_day
WHERE machine_id = 'A1' AND reading_date = '20240201' INTO @DATA(lv_alerts).
cl_abap_unit_assert=>assert_equals( exp = 2 act = CONV i( lv_count ) ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '90.00' ) act = CONV decfloat34( lv_max ) ).
cl_abap_unit_assert=>assert_equals( exp = 1 act = CONV i( lv_alerts ) ).
ENDMETHOD.
ENDCLASS.