74 lines
2.4 KiB
ABAP
74 lines
2.4 KiB
ABAP
CLASS ltc_pest_fee DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
|
PRIVATE SECTION.
|
|
DATA mo_cut TYPE REF TO {{p}}pest_fee.
|
|
|
|
METHODS setup.
|
|
METHODS rats_with_area FOR TESTING.
|
|
METHODS mice_base_fee FOR TESTING.
|
|
METHODS unknown_pest_is_free FOR TESTING.
|
|
METHODS urgent_job FOR TESTING.
|
|
METHODS contract_discount FOR TESTING.
|
|
METHODS minimum_fee FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS ltc_pest_fee IMPLEMENTATION.
|
|
METHOD setup.
|
|
mo_cut = NEW {{p}}pest_fee( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD rats_with_area.
|
|
DATA lv_exp TYPE {{p}}pest_fee=>ty_fee.
|
|
lv_exp = 135.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = lv_exp
|
|
act = mo_cut->calculate_fee( iv_pest_type = 'RATS' iv_area = 101
|
|
iv_urgent = abap_false iv_contract = abap_false ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD mice_base_fee.
|
|
DATA lv_exp TYPE {{p}}pest_fee=>ty_fee.
|
|
lv_exp = 55.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = lv_exp
|
|
act = mo_cut->calculate_fee( iv_pest_type = 'MICE' iv_area = 0
|
|
iv_urgent = abap_false iv_contract = abap_false ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD unknown_pest_is_free.
|
|
DATA lv_exp TYPE {{p}}pest_fee=>ty_fee.
|
|
lv_exp = 0.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = lv_exp
|
|
act = mo_cut->calculate_fee( iv_pest_type = 'BIRD' iv_area = 500
|
|
iv_urgent = abap_true iv_contract = abap_true ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD urgent_job.
|
|
DATA lv_exp TYPE {{p}}pest_fee=>ty_fee.
|
|
lv_exp = 125.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = lv_exp
|
|
act = mo_cut->calculate_fee( iv_pest_type = 'ANTS' iv_area = 100
|
|
iv_urgent = abap_true iv_contract = abap_false ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD contract_discount.
|
|
DATA lv_exp TYPE {{p}}pest_fee=>ty_fee.
|
|
lv_exp = 153.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = lv_exp
|
|
act = mo_cut->calculate_fee( iv_pest_type = 'RATS' iv_area = 0
|
|
iv_urgent = abap_true iv_contract = abap_true ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD minimum_fee.
|
|
DATA lv_exp TYPE {{p}}pest_fee=>ty_fee.
|
|
lv_exp = 50.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = lv_exp
|
|
act = mo_cut->calculate_fee( iv_pest_type = 'MICE' iv_area = 0
|
|
iv_urgent = abap_false iv_contract = abap_true ) ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|