Files
abap-llm/tasks_gen/eval/G0155/hidden/t41_hidden.clas.abap

118 lines
5.2 KiB
ABAP

CLASS {{p}}t41_hidden 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 counts_readings FOR TESTING.
METHODS average_value FOR TESTING.
METHODS max_value FOR TESTING.
METHODS alerts_counted FOR TESTING.
METHODS no_alert_at_limit FOR TESTING.
METHODS unknown_machine_ignored FOR TESTING.
METHODS name_and_plant FOR TESTING.
METHODS one_row_per_day FOR TESTING.
METHODS second_day_values FOR TESTING.
METHODS machine_without_readings FOR TESTING.
ENDCLASS.
CLASS {{p}}t41_hidden 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 = 'M1' machine_name = 'Press 1' plant = '1000' )
( machine_id = 'M2' machine_name = 'Press 2' plant = '2000' )
( machine_id = 'M3' machine_name = 'Drill 3' plant = '1000' )
( machine_id = 'M4' machine_name = 'Drill 4' plant = '2000' ) ).
lt_sensor = VALUE #(
( machine_id = 'M1' reading_no = 1 reading_date = '20240101' sensor = 'TEMP' reading_value = '10.00' )
( machine_id = 'M1' reading_no = 2 reading_date = '20240101' sensor = 'TEMP' reading_value = '20.00' )
( machine_id = 'M1' reading_no = 3 reading_date = '20240101' sensor = 'TEMP' reading_value = '30.00' )
( machine_id = 'M1' reading_no = 4 reading_date = '20240101' sensor = 'VIBR' reading_value = '99.00' )
( machine_id = 'M1' reading_no = 5 reading_date = '20240102' sensor = 'TEMP' reading_value = '5.00' )
( machine_id = 'M1' reading_no = 6 reading_date = '20240102' sensor = 'TEMP' reading_value = '6.00' )
( machine_id = 'M2' reading_no = 1 reading_date = '20240101' sensor = 'TEMP' reading_value = '95.50' )
( machine_id = 'M2' reading_no = 2 reading_date = '20240101' sensor = 'TEMP' reading_value = '100.00' )
( machine_id = 'M4' reading_no = 1 reading_date = '20240101' sensor = 'TEMP' reading_value = '80.00' )
( machine_id = 'M9' reading_no = 1 reading_date = '20240101' sensor = 'TEMP' reading_value = '50.00' ) ).
go_env->insert_test_data( lt_mach ).
go_env->insert_test_data( lt_sensor ).
ENDMETHOD.
METHOD counts_readings.
SELECT SINGLE reading_count FROM {{p}}i_machine_day
WHERE machine_id = 'M1' AND reading_date = '20240101' INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = 3 act = CONV i( lv_count ) ).
ENDMETHOD.
METHOD average_value.
SELECT SINGLE avg_value FROM {{p}}i_machine_day
WHERE machine_id = 'M1' AND reading_date = '20240101' INTO @DATA(lv_avg).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '20.00' ) act = CONV decfloat34( lv_avg ) ).
ENDMETHOD.
METHOD max_value.
SELECT SINGLE max_value FROM {{p}}i_machine_day
WHERE machine_id = 'M1' AND reading_date = '20240101' INTO @DATA(lv_max).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '30.00' ) act = CONV decfloat34( lv_max ) ).
ENDMETHOD.
METHOD alerts_counted.
SELECT SINGLE alert_count FROM {{p}}i_machine_day
WHERE machine_id = 'M2' AND reading_date = '20240101' INTO @DATA(lv_alerts).
cl_abap_unit_assert=>assert_equals( exp = 2 act = CONV i( lv_alerts ) ).
ENDMETHOD.
METHOD no_alert_at_limit.
SELECT SINGLE alert_count FROM {{p}}i_machine_day
WHERE machine_id = 'M4' AND reading_date = '20240101' INTO @DATA(lv_alerts).
cl_abap_unit_assert=>assert_equals( exp = 0 act = CONV i( lv_alerts ) ).
ENDMETHOD.
METHOD unknown_machine_ignored.
SELECT COUNT(*) FROM {{p}}i_machine_day
WHERE machine_id = 'M9' INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 0 act = CONV i( lv_rows ) ).
ENDMETHOD.
METHOD name_and_plant.
SELECT COUNT(*) FROM {{p}}i_machine_day
WHERE machine_id = 'M2' AND machine_name = 'Press 2' AND plant = '2000'
INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 1 act = CONV i( lv_rows ) ).
ENDMETHOD.
METHOD one_row_per_day.
SELECT COUNT(*) FROM {{p}}i_machine_day
WHERE machine_id = 'M1' INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 2 act = CONV i( lv_rows ) ).
ENDMETHOD.
METHOD second_day_values.
SELECT SINGLE reading_count FROM {{p}}i_machine_day
WHERE machine_id = 'M1' AND reading_date = '20240102' INTO @DATA(lv_count).
SELECT SINGLE avg_value FROM {{p}}i_machine_day
WHERE machine_id = 'M1' AND reading_date = '20240102' INTO @DATA(lv_avg).
cl_abap_unit_assert=>assert_equals( exp = 2 act = CONV i( lv_count ) ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '5.50' ) act = CONV decfloat34( lv_avg ) ).
ENDMETHOD.
METHOD machine_without_readings.
SELECT COUNT(*) FROM {{p}}i_machine_day
WHERE machine_id = 'M3' INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 0 act = CONV i( lv_rows ) ).
ENDMETHOD.
ENDCLASS.