CLASS {{p}}t33_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 grade_and_text FOR TESTING. METHODS height_in_metres FOR TESTING. ENDCLASS. CLASS {{p}}t33_test IMPLEMENTATION. METHOD class_setup. go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_PLANT_GRADE' ). ENDMETHOD. METHOD class_teardown. go_env->destroy( ). ENDMETHOD. METHOD setup. DATA lt_plant TYPE STANDARD TABLE OF {{p}}plant WITH EMPTY KEY. go_env->clear_doubles( ). lt_plant = VALUE #( ( tree_id = 'A' species = 'OAK' height_cm = 150 ) ). go_env->insert_test_data( lt_plant ). ENDMETHOD. METHOD grade_and_text. DATA lv_grade TYPE c LENGTH 1. DATA lv_text TYPE c LENGTH 30. SELECT SINGLE grade, grade_text FROM {{p}}i_plant_grade WHERE tree_id = 'A' INTO (@lv_grade, @lv_text). cl_abap_unit_assert=>assert_equals( exp = 'M' act = lv_grade ). cl_abap_unit_assert=>assert_equals( exp = 'M-OAK' act = lv_text ). ENDMETHOD. METHOD height_in_metres. DATA lv_height TYPE decfloat34. SELECT SINGLE height_m FROM {{p}}i_plant_grade WHERE tree_id = 'A' INTO @lv_height. cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '1.50' ) act = lv_height ). ENDMETHOD. ENDCLASS.