Files
abap-llm/tasks_gen/train/G1032/hidden/t31_hidden.clas.abap

113 lines
5.2 KiB
ABAP

CLASS {{p}}t31_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 row_count FOR TESTING.
METHODS count_of_busy_tutor FOR TESTING.
METHODS minutes_of_busy_tutor FOR TESTING.
METHODS count_of_top_tutor FOR TESTING.
METHODS minutes_of_top_tutor FOR TESTING.
METHODS zero_minutes_ignored FOR TESTING.
METHODS zero_minutes_reduce_count FOR TESTING.
METHODS tutor_with_two_lessons FOR TESTING.
METHODS tutor_without_lessons FOR TESTING.
METHODS name_is_shown FOR TESTING.
ENDCLASS.
CLASS {{p}}t31_hidden IMPLEMENTATION.
METHOD class_setup.
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_TUTOR_LOAD' ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
DATA lt_tutor TYPE STANDARD TABLE OF {{p}}tutor WITH EMPTY KEY.
DATA lt_lesson TYPE STANDARD TABLE OF {{p}}lesson WITH EMPTY KEY.
go_env->clear_doubles( ).
lt_tutor = VALUE #( ( tutor_id = 'T1' tutor_name = 'ALICE' subject = 'PIANO' )
( tutor_id = 'T2' tutor_name = 'BOB' subject = 'GUITAR' )
( tutor_id = 'T3' tutor_name = 'CARLA' subject = 'VIOLIN' )
( tutor_id = 'T4' tutor_name = 'DAVE' subject = 'DRUMS' )
( tutor_id = 'T5' tutor_name = 'EMMA' subject = 'FLUTE' )
( tutor_id = 'T6' tutor_name = 'FELIX' subject = 'CELLO' ) ).
lt_lesson = VALUE #( ( lesson_id = 'L01' tutor_id = 'T1' dur_min = 30 )
( lesson_id = 'L02' tutor_id = 'T1' dur_min = 45 )
( lesson_id = 'L03' tutor_id = 'T1' dur_min = 45 )
( lesson_id = 'L04' tutor_id = 'T2' dur_min = 60 )
( lesson_id = 'L05' tutor_id = 'T2' dur_min = 60 )
( lesson_id = 'L06' tutor_id = 'T2' dur_min = 30 )
( lesson_id = 'L07' tutor_id = 'T2' dur_min = 15 )
( lesson_id = 'L08' tutor_id = 'T4' dur_min = 30 )
( lesson_id = 'L09' tutor_id = 'T4' dur_min = 30 )
( lesson_id = 'L10' tutor_id = 'T5' dur_min = 30 )
( lesson_id = 'L11' tutor_id = 'T5' dur_min = 30 )
( lesson_id = 'L12' tutor_id = 'T5' dur_min = 0 )
( lesson_id = 'L13' tutor_id = 'T6' dur_min = 30 )
( lesson_id = 'L14' tutor_id = 'T6' dur_min = 30 )
( lesson_id = 'L15' tutor_id = 'T6' dur_min = 30 )
( lesson_id = 'L16' tutor_id = 'T6' dur_min = 0 ) ).
go_env->insert_test_data( lt_tutor ).
go_env->insert_test_data( lt_lesson ).
ENDMETHOD.
METHOD row_count.
SELECT COUNT(*) FROM {{p}}i_tutor_load INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 3 act = CONV i( lv_rows ) ).
ENDMETHOD.
METHOD count_of_busy_tutor.
SELECT SINGLE lesson_count FROM {{p}}i_tutor_load WHERE tutor_id = 'T1' INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = 3 act = CONV i( lv_count ) ).
ENDMETHOD.
METHOD minutes_of_busy_tutor.
SELECT SINGLE total_minutes FROM {{p}}i_tutor_load WHERE tutor_id = 'T1' INTO @DATA(lv_total).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 120 ) act = CONV decfloat34( lv_total ) ).
ENDMETHOD.
METHOD count_of_top_tutor.
SELECT SINGLE lesson_count FROM {{p}}i_tutor_load WHERE tutor_id = 'T2' INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = 4 act = CONV i( lv_count ) ).
ENDMETHOD.
METHOD minutes_of_top_tutor.
SELECT SINGLE total_minutes FROM {{p}}i_tutor_load WHERE tutor_id = 'T2' INTO @DATA(lv_total).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 165 ) act = CONV decfloat34( lv_total ) ).
ENDMETHOD.
METHOD zero_minutes_ignored.
SELECT SINGLE lesson_count, total_minutes FROM {{p}}i_tutor_load
WHERE tutor_id = 'T6' INTO @DATA(ls_load).
cl_abap_unit_assert=>assert_equals( exp = 3 act = CONV i( ls_load-lesson_count ) ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 90 )
act = CONV decfloat34( ls_load-total_minutes ) ).
ENDMETHOD.
METHOD zero_minutes_reduce_count.
SELECT COUNT(*) FROM {{p}}i_tutor_load WHERE tutor_id = 'T5' INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 0 act = CONV i( lv_rows ) ).
ENDMETHOD.
METHOD tutor_with_two_lessons.
SELECT COUNT(*) FROM {{p}}i_tutor_load WHERE tutor_id = 'T4' INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 0 act = CONV i( lv_rows ) ).
ENDMETHOD.
METHOD tutor_without_lessons.
SELECT COUNT(*) FROM {{p}}i_tutor_load WHERE tutor_id = 'T3' INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 0 act = CONV i( lv_rows ) ).
ENDMETHOD.
METHOD name_is_shown.
SELECT SINGLE tutor_name FROM {{p}}i_tutor_load WHERE tutor_id = 'T2' INTO @DATA(lv_name).
cl_abap_unit_assert=>assert_equals( exp = 'BOB' act = lv_name ).
ENDMETHOD.
ENDCLASS.