127 lines
5.6 KiB
ABAP
127 lines
5.6 KiB
ABAP
CLASS {{p}}bouquet_check_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
|
|
|
PUBLIC SECTION.
|
|
INTERFACES {{p}}if_bouquet_check.
|
|
|
|
PRIVATE SECTION.
|
|
METHODS band_values FOR TESTING.
|
|
METHODS reason_values FOR TESTING.
|
|
METHODS limit_values FOR TESTING.
|
|
METHODS band_is_one_char FOR TESTING.
|
|
METHODS reason_is_ten_chars FOR TESTING.
|
|
METHODS result_structure FOR TESTING.
|
|
METHODS call_returns_result FOR TESTING.
|
|
METHODS call_with_variables FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}bouquet_check_hidden IMPLEMENTATION.
|
|
METHOD {{p}}if_bouquet_check~check_order.
|
|
rs_result = VALUE #( band = {{p}}if_bouquet_check=>c_band-large
|
|
reason = {{p}}if_bouquet_check=>c_reason-ok ).
|
|
ENDMETHOD.
|
|
|
|
METHOD band_values.
|
|
DATA lv_band TYPE {{p}}if_bouquet_check=>ty_band.
|
|
lv_band = {{p}}if_bouquet_check=>c_band-small.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'S' act = lv_band msg = `SMALL` ).
|
|
lv_band = {{p}}if_bouquet_check=>c_band-medium.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'M' act = lv_band msg = `MEDIUM` ).
|
|
lv_band = {{p}}if_bouquet_check=>c_band-large.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'L' act = lv_band msg = `LARGE` ).
|
|
ENDMETHOD.
|
|
|
|
METHOD reason_values.
|
|
DATA lv_exp TYPE {{p}}if_bouquet_check=>ty_reason.
|
|
DATA lv_act TYPE {{p}}if_bouquet_check=>ty_reason.
|
|
lv_exp = 'OK'.
|
|
lv_act = {{p}}if_bouquet_check=>c_reason-ok.
|
|
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_act msg = `OK` ).
|
|
lv_exp = 'INVALID'.
|
|
lv_act = {{p}}if_bouquet_check=>c_reason-invalid.
|
|
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_act msg = `INVALID` ).
|
|
lv_exp = 'SHORT'.
|
|
lv_act = {{p}}if_bouquet_check=>c_reason-short.
|
|
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_act msg = `SHORT` ).
|
|
lv_exp = 'WEIGHT'.
|
|
lv_act = {{p}}if_bouquet_check=>c_reason-weight.
|
|
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_act msg = `WEIGHT` ).
|
|
lv_exp = 'STEMS'.
|
|
lv_act = {{p}}if_bouquet_check=>c_reason-stems.
|
|
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_act msg = `STEMS` ).
|
|
ENDMETHOD.
|
|
|
|
METHOD limit_values.
|
|
DATA lv_limit TYPE i.
|
|
lv_limit = {{p}}if_bouquet_check=>c_limit-max_stems_small.
|
|
cl_abap_unit_assert=>assert_equals( exp = 20 act = lv_limit msg = `SMALL` ).
|
|
lv_limit = {{p}}if_bouquet_check=>c_limit-max_stems_medium.
|
|
cl_abap_unit_assert=>assert_equals( exp = 40 act = lv_limit msg = `MEDIUM` ).
|
|
lv_limit = {{p}}if_bouquet_check=>c_limit-max_stems_large.
|
|
cl_abap_unit_assert=>assert_equals( exp = 60 act = lv_limit msg = `LARGE` ).
|
|
lv_limit = {{p}}if_bouquet_check=>c_limit-max_weight_g.
|
|
cl_abap_unit_assert=>assert_equals( exp = 3000 act = lv_limit msg = `WEIGHT` ).
|
|
lv_limit = {{p}}if_bouquet_check=>c_limit-min_stem_cm.
|
|
cl_abap_unit_assert=>assert_equals( exp = 40 act = lv_limit msg = `STEM` ).
|
|
ENDMETHOD.
|
|
|
|
METHOD band_is_one_char.
|
|
DATA lv_band TYPE {{p}}if_bouquet_check=>ty_band.
|
|
lv_band = 'XY'.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'X' act = lv_band
|
|
msg = `band is one character` ).
|
|
ENDMETHOD.
|
|
|
|
METHOD reason_is_ten_chars.
|
|
DATA lv_reason TYPE {{p}}if_bouquet_check=>ty_reason.
|
|
lv_reason = 'ABCDEFGHIJKL'.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'ABCDEFGHIJ' act = lv_reason
|
|
msg = `reason is ten characters` ).
|
|
ENDMETHOD.
|
|
|
|
METHOD result_structure.
|
|
DATA ls_result TYPE {{p}}if_bouquet_check=>ty_result.
|
|
DATA(lo_struct) = CAST cl_abap_structdescr(
|
|
cl_abap_typedescr=>describe_by_data( ls_result ) ).
|
|
DATA(lt_comp) = lo_struct->get_components( ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lt_comp ) ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'BAND'
|
|
act = to_upper( lt_comp[ 1 ]-name ) ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'REASON'
|
|
act = to_upper( lt_comp[ 2 ]-name ) ).
|
|
ls_result-band = 'XY'.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'X' act = ls_result-band ).
|
|
ls_result-reason = 'ABCDEFGHIJKL'.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'ABCDEFGHIJ'
|
|
act = ls_result-reason ).
|
|
ENDMETHOD.
|
|
|
|
METHOD call_returns_result.
|
|
DATA mo_cut TYPE REF TO {{p}}if_bouquet_check.
|
|
mo_cut = NEW {{p}}bouquet_check_hidden( ).
|
|
DATA(ls_result) = mo_cut->check_order( iv_stems = 30
|
|
iv_weight_g = 1200
|
|
iv_stem_cm = 50 ).
|
|
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_bouquet_check=>c_band-large
|
|
act = ls_result-band ).
|
|
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_bouquet_check=>c_reason-ok
|
|
act = ls_result-reason ).
|
|
ENDMETHOD.
|
|
|
|
METHOD call_with_variables.
|
|
DATA lv_stems TYPE i VALUE 5.
|
|
DATA lv_weight TYPE i VALUE 900.
|
|
DATA lv_stem TYPE i VALUE 45.
|
|
DATA mo_cut TYPE REF TO {{p}}if_bouquet_check.
|
|
mo_cut = NEW {{p}}bouquet_check_hidden( ).
|
|
DATA(ls_result) = mo_cut->check_order( iv_stems = lv_stems
|
|
iv_weight_g = lv_weight
|
|
iv_stem_cm = lv_stem ).
|
|
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_bouquet_check=>c_band-large
|
|
act = ls_result-band ).
|
|
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_bouquet_check=>c_reason-ok
|
|
act = ls_result-reason ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|