Files
abap-llm/tasks_gen/eval/G0182/hidden/t21_hidden.clas.abap

87 lines
3.7 KiB
ABAP

CLASS {{p}}t21_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 cost_of_project_one FOR TESTING.
METHODS hours_of_project_one FOR TESTING.
METHODS count_of_project_one FOR TESTING.
METHODS no_active_assignment FOR TESTING.
METHODS row_count FOR TESTING.
METHODS over_budget_flag FOR TESTING.
METHODS budget_not_exceeded FOR TESTING.
METHODS project_name_shown FOR TESTING.
ENDCLASS.
CLASS {{p}}t21_hidden IMPLEMENTATION.
METHOD class_setup.
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_PROJ_EFFORT' ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
DATA lt_proj TYPE STANDARD TABLE OF {{p}}proj WITH EMPTY KEY.
DATA lt_asgn TYPE STANDARD TABLE OF {{p}}asgn WITH EMPTY KEY.
go_env->clear_doubles( ).
lt_proj = VALUE #( ( proj_id = 'P1' proj_name = 'ALPHA' budget = '500.00' )
( proj_id = 'P2' proj_name = 'BETA' budget = '100.00' )
( proj_id = 'P3' proj_name = 'GAMMA' budget = '1000.00' )
( proj_id = 'P4' proj_name = 'DELTA' budget = '50.00' ) ).
lt_asgn = VALUE #( ( proj_id = 'P1' emp_id = 'E1' work_hours = 10 rate = '50.00' status = 'A' )
( proj_id = 'P1' emp_id = 'E2' work_hours = 4 rate = '25.00' status = 'A' )
( proj_id = 'P1' emp_id = 'E3' work_hours = 8 rate = '100.00' status = 'I' )
( proj_id = 'P2' emp_id = 'E1' work_hours = 2 rate = '50.00' status = 'A' )
( proj_id = 'P4' emp_id = 'E2' work_hours = 5 rate = '10.00' status = 'I' ) ).
go_env->insert_test_data( lt_proj ).
go_env->insert_test_data( lt_asgn ).
ENDMETHOD.
METHOD cost_of_project_one.
SELECT SINGLE total_cost FROM {{p}}i_proj_effort WHERE proj_id = 'P1' INTO @DATA(lv_cost).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '600.00' )
act = CONV decfloat34( lv_cost ) ).
ENDMETHOD.
METHOD hours_of_project_one.
SELECT SINGLE total_hours FROM {{p}}i_proj_effort WHERE proj_id = 'P1' INTO @DATA(lv_hours).
cl_abap_unit_assert=>assert_equals( exp = CONV i( lv_hours ) act = 14 ).
ENDMETHOD.
METHOD count_of_project_one.
SELECT SINGLE assign_count FROM {{p}}i_proj_effort WHERE proj_id = 'P1' INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = CONV i( lv_count ) act = 2 ).
ENDMETHOD.
METHOD no_active_assignment.
SELECT SINGLE proj_name FROM {{p}}i_proj_effort WHERE proj_id = 'P4' INTO @DATA(lv_name).
cl_abap_unit_assert=>assert_equals( exp = 4 act = sy-subrc ).
cl_abap_unit_assert=>assert_initial( lv_name ).
ENDMETHOD.
METHOD row_count.
SELECT COUNT(*) FROM {{p}}i_proj_effort INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = CONV i( lv_rows ) act = 2 ).
ENDMETHOD.
METHOD over_budget_flag.
SELECT SINGLE over_budget FROM {{p}}i_proj_effort WHERE proj_id = 'P1' INTO @DATA(lv_flag).
cl_abap_unit_assert=>assert_equals( exp = 'X' act = lv_flag ).
ENDMETHOD.
METHOD budget_not_exceeded.
SELECT SINGLE over_budget FROM {{p}}i_proj_effort WHERE proj_id = 'P2' INTO @DATA(lv_flag).
cl_abap_unit_assert=>assert_equals( exp = 'N' act = lv_flag ).
ENDMETHOD.
METHOD project_name_shown.
SELECT SINGLE proj_name FROM {{p}}i_proj_effort WHERE proj_id = 'P2' INTO @DATA(lv_name).
cl_abap_unit_assert=>assert_equals( exp = 'BETA' act = lv_name ).
ENDMETHOD.
ENDCLASS.