216 lines
9.1 KiB
ABAP
216 lines
9.1 KiB
ABAP
CLASS {{p}}t02_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
|
PUBLIC SECTION.
|
|
INTERFACES {{p}}if_sweep_check.
|
|
PRIVATE SECTION.
|
|
DATA mo_cut TYPE REF TO {{p}}if_sweep_check.
|
|
METHODS setup.
|
|
METHODS ok_order FOR TESTING.
|
|
METHODS no_flues FOR TESTING.
|
|
METHODS too_many_flues FOR TESTING.
|
|
METHODS bad_kind FOR TESTING.
|
|
METHODS blocked_order FOR TESTING.
|
|
METHODS old_sweep FOR TESTING.
|
|
METHODS boundary_ok FOR TESTING.
|
|
METHODS reason_priority FOR TESTING.
|
|
METHODS fee_by_kind FOR TESTING.
|
|
METHODS fee_discount FOR TESTING.
|
|
METHODS fee_edge FOR TESTING.
|
|
METHODS contract_shape FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}t02_hidden IMPLEMENTATION.
|
|
METHOD {{p}}if_sweep_check~check_order.
|
|
rv_reason = {{p}}if_sweep_check=>c_reason-ok.
|
|
ENDMETHOD.
|
|
|
|
METHOD {{p}}if_sweep_check~fee.
|
|
rv_fee = 0.
|
|
ENDMETHOD.
|
|
|
|
METHOD setup.
|
|
mo_cut = NEW {{p}}chimney_checker( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD ok_order.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = {{p}}if_sweep_check=>c_reason-ok
|
|
act = mo_cut->check_order( iv_flues = 3
|
|
iv_kind = {{p}}if_sweep_check=>c_kind-open
|
|
iv_last_sweep = 2024
|
|
iv_year = 2025
|
|
iv_blocked = abap_false ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD no_flues.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = {{p}}if_sweep_check=>c_reason-no_flues
|
|
act = mo_cut->check_order( iv_flues = 0
|
|
iv_kind = {{p}}if_sweep_check=>c_kind-closed
|
|
iv_last_sweep = 2025
|
|
iv_year = 2025
|
|
iv_blocked = abap_false ) ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = {{p}}if_sweep_check=>c_reason-no_flues
|
|
act = mo_cut->check_order( iv_flues = -2
|
|
iv_kind = {{p}}if_sweep_check=>c_kind-closed
|
|
iv_last_sweep = 2025
|
|
iv_year = 2025
|
|
iv_blocked = abap_false ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD too_many_flues.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = {{p}}if_sweep_check=>c_reason-too_many
|
|
act = mo_cut->check_order( iv_flues = 13
|
|
iv_kind = {{p}}if_sweep_check=>c_kind-open
|
|
iv_last_sweep = 2025
|
|
iv_year = 2025
|
|
iv_blocked = abap_false ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD bad_kind.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = {{p}}if_sweep_check=>c_reason-bad_kind
|
|
act = mo_cut->check_order( iv_flues = 3
|
|
iv_kind = 'GAS'
|
|
iv_last_sweep = 2025
|
|
iv_year = 2025
|
|
iv_blocked = abap_false ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD blocked_order.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = {{p}}if_sweep_check=>c_reason-blocked
|
|
act = mo_cut->check_order( iv_flues = 3
|
|
iv_kind = {{p}}if_sweep_check=>c_kind-indust
|
|
iv_last_sweep = 2024
|
|
iv_year = 2025
|
|
iv_blocked = abap_true ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD old_sweep.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = {{p}}if_sweep_check=>c_reason-old_sweep
|
|
act = mo_cut->check_order( iv_flues = 2
|
|
iv_kind = {{p}}if_sweep_check=>c_kind-open
|
|
iv_last_sweep = 2022
|
|
iv_year = 2025
|
|
iv_blocked = abap_false ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD boundary_ok.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = {{p}}if_sweep_check=>c_reason-ok
|
|
act = mo_cut->check_order( iv_flues = 12
|
|
iv_kind = {{p}}if_sweep_check=>c_kind-closed
|
|
iv_last_sweep = 2023
|
|
iv_year = 2025
|
|
iv_blocked = abap_false ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD reason_priority.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = {{p}}if_sweep_check=>c_reason-no_flues
|
|
act = mo_cut->check_order( iv_flues = 0
|
|
iv_kind = 'GAS'
|
|
iv_last_sweep = 2000
|
|
iv_year = 2025
|
|
iv_blocked = abap_true ) ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = {{p}}if_sweep_check=>c_reason-too_many
|
|
act = mo_cut->check_order( iv_flues = 20
|
|
iv_kind = 'GAS'
|
|
iv_last_sweep = 2000
|
|
iv_year = 2025
|
|
iv_blocked = abap_true ) ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = {{p}}if_sweep_check=>c_reason-bad_kind
|
|
act = mo_cut->check_order( iv_flues = 3
|
|
iv_kind = 'GAS'
|
|
iv_last_sweep = 2000
|
|
iv_year = 2025
|
|
iv_blocked = abap_true ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD fee_by_kind.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_amount( '240.00' )
|
|
act = mo_cut->fee( iv_flues = 4 iv_kind = {{p}}if_sweep_check=>c_kind-open ) ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_amount( '180.00' )
|
|
act = mo_cut->fee( iv_flues = 4 iv_kind = {{p}}if_sweep_check=>c_kind-closed ) ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_amount( '240.00' )
|
|
act = mo_cut->fee( iv_flues = 2 iv_kind = {{p}}if_sweep_check=>c_kind-indust ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD fee_discount.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_amount( '243.00' )
|
|
act = mo_cut->fee( iv_flues = 6 iv_kind = {{p}}if_sweep_check=>c_kind-closed ) ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_amount( '270.00' )
|
|
act = mo_cut->fee( iv_flues = 5 iv_kind = {{p}}if_sweep_check=>c_kind-open ) ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_amount( '540.00' )
|
|
act = mo_cut->fee( iv_flues = 5 iv_kind = {{p}}if_sweep_check=>c_kind-indust ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD fee_edge.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_amount( '0.00' )
|
|
act = mo_cut->fee( iv_flues = 0 iv_kind = {{p}}if_sweep_check=>c_kind-open ) ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_amount( '0.00' )
|
|
act = mo_cut->fee( iv_flues = -2 iv_kind = {{p}}if_sweep_check=>c_kind-open ) ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_amount( '0.00' )
|
|
act = mo_cut->fee( iv_flues = 3 iv_kind = 'GAS' ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD contract_shape.
|
|
cl_abap_unit_assert=>assert_equals( exp = 12 act = {{p}}if_sweep_check=>c_max_flues ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_reason( 'OK' )
|
|
act = {{p}}if_sweep_check=>c_reason-ok ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_reason( 'NO_FLUES' )
|
|
act = {{p}}if_sweep_check=>c_reason-no_flues ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_reason( 'TOO_MANY' )
|
|
act = {{p}}if_sweep_check=>c_reason-too_many ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_reason( 'BAD_KIND' )
|
|
act = {{p}}if_sweep_check=>c_reason-bad_kind ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_reason( 'BLOCKED' )
|
|
act = {{p}}if_sweep_check=>c_reason-blocked ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_reason( 'OLD_SWEEP' )
|
|
act = {{p}}if_sweep_check=>c_reason-old_sweep ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'OPEN' act = {{p}}if_sweep_check=>c_kind-open ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'CLOS' act = {{p}}if_sweep_check=>c_kind-closed ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'INDU' act = {{p}}if_sweep_check=>c_kind-indust ).
|
|
|
|
DATA lv_reason TYPE {{p}}if_sweep_check=>ty_reason.
|
|
lv_reason = 'ABCDEFGHIJK'.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'ABCDEFGHIJ' act = lv_reason ).
|
|
|
|
DATA lv_kind TYPE {{p}}if_sweep_check=>ty_flue_kind.
|
|
lv_kind = 'ABCDE'.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'ABCD' act = lv_kind ).
|
|
|
|
DATA lv_amount TYPE {{p}}if_sweep_check=>ty_amount.
|
|
lv_amount = '123.45'.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV {{p}}if_sweep_check=>ty_amount( '123.45' )
|
|
act = lv_amount ).
|
|
|
|
DATA lo_self TYPE REF TO {{p}}if_sweep_check.
|
|
lo_self = NEW {{p}}t02_hidden( ).
|
|
cl_abap_unit_assert=>assert_bound( lo_self ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|