CLASS {{p}}roast_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC FOR TESTING DURATION SHORT RISK LEVEL HARMLESS. PRIVATE SECTION. METHODS base_field_count FOR TESTING. METHODS base_field_names FOR TESTING. METHODS base_char_lengths FOR TESTING. METHODS base_amount_types FOR TESTING. METHODS base_day_type FOR TESTING. METHODS result_field_count FOR TESTING. METHODS result_starts_with_base FOR TESTING. METHODS result_flag_fields FOR TESTING. METHODS result_min_type FOR TESTING. METHODS result_loss_type FOR TESTING. METHODS result_roaster_type FOR TESTING. ENDCLASS. CLASS {{p}}roast_hidden IMPLEMENTATION. METHOD base_field_count. DATA(lo_str) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_BASE' ) ). DATA(lt_fields) = lo_str->get_ddic_field_list( ). cl_abap_unit_assert=>assert_equals( exp = 5 act = lines( lt_fields ) ). ENDMETHOD. METHOD base_field_names. DATA(lo_str) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_BASE' ) ). DATA(lt_fields) = lo_str->get_ddic_field_list( ). cl_abap_unit_assert=>assert_equals( exp = 'SITE' act = lt_fields[ 1 ]-fieldname ). cl_abap_unit_assert=>assert_equals( exp = 'BATCH_NO' act = lt_fields[ 2 ]-fieldname ). cl_abap_unit_assert=>assert_equals( exp = 'ROAST_DAY' act = lt_fields[ 3 ]-fieldname ). cl_abap_unit_assert=>assert_equals( exp = 'GREEN_KG' act = lt_fields[ 4 ]-fieldname ). cl_abap_unit_assert=>assert_equals( exp = 'ROASTED_KG' act = lt_fields[ 5 ]-fieldname ). ENDMETHOD. METHOD base_char_lengths. DATA(lo_str) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_BASE' ) ). DATA(lt_fields) = lo_str->get_ddic_field_list( ). cl_abap_unit_assert=>assert_equals( exp = 'C' act = lt_fields[ 1 ]-inttype ). cl_abap_unit_assert=>assert_equals( exp = 4 act = lt_fields[ 1 ]-leng ). cl_abap_unit_assert=>assert_equals( exp = 'C' act = lt_fields[ 2 ]-inttype ). cl_abap_unit_assert=>assert_equals( exp = 10 act = lt_fields[ 2 ]-leng ). ENDMETHOD. METHOD base_amount_types. DATA(lo_str) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_BASE' ) ). DATA(lt_fields) = lo_str->get_ddic_field_list( ). cl_abap_unit_assert=>assert_equals( exp = 'P' act = lt_fields[ 4 ]-inttype ). cl_abap_unit_assert=>assert_equals( exp = 9 act = lt_fields[ 4 ]-leng ). cl_abap_unit_assert=>assert_equals( exp = 3 act = lt_fields[ 4 ]-decimals ). cl_abap_unit_assert=>assert_equals( exp = 'P' act = lt_fields[ 5 ]-inttype ). cl_abap_unit_assert=>assert_equals( exp = 9 act = lt_fields[ 5 ]-leng ). cl_abap_unit_assert=>assert_equals( exp = 3 act = lt_fields[ 5 ]-decimals ). ENDMETHOD. METHOD base_day_type. DATA(lo_str) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_BASE' ) ). DATA(lt_fields) = lo_str->get_ddic_field_list( ). cl_abap_unit_assert=>assert_equals( exp = 'D' act = lt_fields[ 3 ]-inttype ). cl_abap_unit_assert=>assert_equals( exp = 8 act = lt_fields[ 3 ]-leng ). ENDMETHOD. METHOD result_field_count. DATA(lo_str) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_RESULT' ) ). DATA(lt_fields) = lo_str->get_ddic_field_list( ). cl_abap_unit_assert=>assert_equals( exp = 10 act = lines( lt_fields ) ). ENDMETHOD. METHOD result_starts_with_base. DATA(lo_base) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_BASE' ) ). DATA(lo_res) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_RESULT' ) ). DATA(lt_base) = lo_base->get_ddic_field_list( ). DATA(lt_res) = lo_res->get_ddic_field_list( ). DO 5 TIMES. cl_abap_unit_assert=>assert_equals( exp = lt_base[ sy-index ]-fieldname act = lt_res[ sy-index ]-fieldname ). cl_abap_unit_assert=>assert_equals( exp = lt_base[ sy-index ]-inttype act = lt_res[ sy-index ]-inttype ). cl_abap_unit_assert=>assert_equals( exp = lt_base[ sy-index ]-leng act = lt_res[ sy-index ]-leng ). cl_abap_unit_assert=>assert_equals( exp = lt_base[ sy-index ]-decimals act = lt_res[ sy-index ]-decimals ). ENDDO. ENDMETHOD. METHOD result_flag_fields. DATA(lo_str) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_RESULT' ) ). DATA(lt_fields) = lo_str->get_ddic_field_list( ). cl_abap_unit_assert=>assert_equals( exp = 'ROAST_LEVEL' act = lt_fields[ 6 ]-fieldname ). cl_abap_unit_assert=>assert_equals( exp = 'C' act = lt_fields[ 6 ]-inttype ). cl_abap_unit_assert=>assert_equals( exp = 1 act = lt_fields[ 6 ]-leng ). cl_abap_unit_assert=>assert_equals( exp = 'CHECKED' act = lt_fields[ 10 ]-fieldname ). cl_abap_unit_assert=>assert_equals( exp = 'C' act = lt_fields[ 10 ]-inttype ). cl_abap_unit_assert=>assert_equals( exp = 1 act = lt_fields[ 10 ]-leng ). ENDMETHOD. METHOD result_min_type. DATA(lo_str) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_RESULT' ) ). DATA(lt_fields) = lo_str->get_ddic_field_list( ). cl_abap_unit_assert=>assert_equals( exp = 'ROAST_MIN' act = lt_fields[ 7 ]-fieldname ). cl_abap_unit_assert=>assert_equals( exp = 'I' act = lt_fields[ 7 ]-inttype ). ENDMETHOD. METHOD result_loss_type. DATA(lo_str) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_RESULT' ) ). DATA(lt_fields) = lo_str->get_ddic_field_list( ). cl_abap_unit_assert=>assert_equals( exp = 'LOSS_PCT' act = lt_fields[ 8 ]-fieldname ). cl_abap_unit_assert=>assert_equals( exp = 'P' act = lt_fields[ 8 ]-inttype ). cl_abap_unit_assert=>assert_equals( exp = 5 act = lt_fields[ 8 ]-leng ). cl_abap_unit_assert=>assert_equals( exp = 2 act = lt_fields[ 8 ]-decimals ). ENDMETHOD. METHOD result_roaster_type. DATA(lo_str) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( '{{P}}ROAST_RESULT' ) ). DATA(lt_fields) = lo_str->get_ddic_field_list( ). cl_abap_unit_assert=>assert_equals( exp = 'ROASTER_ID' act = lt_fields[ 9 ]-fieldname ). cl_abap_unit_assert=>assert_equals( exp = 'C' act = lt_fields[ 9 ]-inttype ). cl_abap_unit_assert=>assert_equals( exp = 8 act = lt_fields[ 9 ]-leng ). ENDMETHOD. ENDCLASS.