CLASS {{p}}turb_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 revenue_and_park FOR TESTING. ENDCLASS. CLASS {{p}}turb_test IMPLEMENTATION. METHOD class_setup. go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_TURBINE' ). ENDMETHOD. METHOD class_teardown. go_env->destroy( ). ENDMETHOD. METHOD setup. go_env->clear_doubles( ). ENDMETHOD. METHOD revenue_and_park. DATA lt_park TYPE STANDARD TABLE OF {{p}}wpark WITH EMPTY KEY. DATA lt_turb TYPE STANDARD TABLE OF {{p}}turbine WITH EMPTY KEY. lt_park = VALUE #( ( park_id = 'A' park_name = 'Alpha Park' country = 'DE' tariff = '10.00' ) ). lt_turb = VALUE #( ( turbine_id = 'X' park_id = 'A' nominal_kw = 100 yield_mwh = '5.00' ) ). go_env->insert_test_data( lt_park ). go_env->insert_test_data( lt_turb ). SELECT SINGLE revenue FROM {{p}}i_turbine WHERE turbine_id = 'X' INTO @DATA(lv_revenue). cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '50.00' ) act = CONV decfloat34( lv_revenue ) ). SELECT SINGLE \_PARK-park_name FROM {{p}}i_turbine WHERE turbine_id = 'X' INTO @DATA(lv_name). cl_abap_unit_assert=>assert_equals( exp = 'Alpha Park' act = lv_name ). ENDMETHOD. ENDCLASS.