Files
abap-llm/tasks_gen/train/G1946/reference/roast_test.clas.abap
2026-10-05 22:08:59 +02:00

47 lines
2.0 KiB
ABAP

CLASS {{p}}roast_test DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS base_has_five_fields FOR TESTING.
METHODS result_has_ten_fields FOR TESTING.
METHODS loss_has_two_decimals FOR TESTING.
METHODS result_starts_with_base FOR TESTING.
ENDCLASS.
CLASS {{p}}roast_test IMPLEMENTATION.
METHOD base_has_five_fields.
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 result_has_ten_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 = 10 act = lines( lt_fields ) ).
ENDMETHOD.
METHOD loss_has_two_decimals.
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( ).
READ TABLE lt_fields INTO DATA(ls_field) WITH KEY fieldname = 'LOSS_PCT'.
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
cl_abap_unit_assert=>assert_equals( exp = 2 act = ls_field-decimals ).
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( ).
cl_abap_unit_assert=>assert_equals( exp = lt_base[ 1 ]-fieldname act = lt_res[ 1 ]-fieldname ).
cl_abap_unit_assert=>assert_equals( exp = lt_base[ 5 ]-fieldname act = lt_res[ 5 ]-fieldname ).
cl_abap_unit_assert=>assert_equals( exp = lt_base[ 5 ]-leng act = lt_res[ 5 ]-leng ).
ENDMETHOD.
ENDCLASS.