47 lines
2.0 KiB
ABAP
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.
|