Files
abap-llm/tasks_gen/train/G1019/reference/bowling_fee.testclasses.abap

73 lines
2.3 KiB
ABAP

CLASS ltc_bowling_fee DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
CONSTANTS:
c_48_00 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '48.00',
c_129_60 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '129.60',
c_96_00 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '96.00',
c_288_00 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '288.00',
c_55_50 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '55.50',
c_134_60 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '134.60',
c_0_00 TYPE {{p}}if_bowling_fee=>ty_fee VALUE '0.00'.
DATA mo_cut TYPE REF TO {{p}}if_bowling_fee.
METHODS setup.
METHODS lane_fee_only FOR TESTING.
METHODS group_discount FOR TESTING.
METHODS large_discount FOR TESTING.
METHODS group_and_large FOR TESTING.
METHODS shoes_are_added FOR TESTING.
METHODS shoes_never_discounted FOR TESTING.
METHODS zero_lanes FOR TESTING.
ENDCLASS.
CLASS ltc_bowling_fee IMPLEMENTATION.
METHOD setup.
mo_cut = NEW {{p}}bowling_fee( ).
ENDMETHOD.
METHOD lane_fee_only.
cl_abap_unit_assert=>assert_equals(
exp = c_48_00
act = mo_cut->calculate_fee( iv_lanes = 2 iv_hours = 2 iv_shoes = 0 ) ).
ENDMETHOD.
METHOD group_discount.
cl_abap_unit_assert=>assert_equals(
exp = c_129_60
act = mo_cut->calculate_fee( iv_lanes = 6 iv_hours = 2 iv_shoes = 0 ) ).
ENDMETHOD.
METHOD large_discount.
cl_abap_unit_assert=>assert_equals(
exp = c_96_00
act = mo_cut->calculate_fee( iv_lanes = 2 iv_hours = 5 iv_shoes = 0 ) ).
ENDMETHOD.
METHOD group_and_large.
" The large discount replaces the group discount.
cl_abap_unit_assert=>assert_equals(
exp = c_288_00
act = mo_cut->calculate_fee( iv_lanes = 6 iv_hours = 5 iv_shoes = 0 ) ).
ENDMETHOD.
METHOD shoes_are_added.
cl_abap_unit_assert=>assert_equals(
exp = c_55_50
act = mo_cut->calculate_fee( iv_lanes = 2 iv_hours = 2 iv_shoes = 3 ) ).
ENDMETHOD.
METHOD shoes_never_discounted.
cl_abap_unit_assert=>assert_equals(
exp = c_134_60
act = mo_cut->calculate_fee( iv_lanes = 6 iv_hours = 2 iv_shoes = 2 ) ).
ENDMETHOD.
METHOD zero_lanes.
cl_abap_unit_assert=>assert_equals(
exp = c_0_00
act = mo_cut->calculate_fee( iv_lanes = 0 iv_hours = 2 iv_shoes = 0 ) ).
ENDMETHOD.
ENDCLASS.