Files
abap-llm/tasks_gen/train/G1059/reference/sauna_pricer.testclasses.abap
2026-10-05 18:02:52 +02:00

55 lines
1.8 KiB
ABAP

CLASS ltc_sauna_pricer DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
DATA mo_cut TYPE REF TO {{p}}if_sauna_price.
METHODS setup.
METHODS base_hire FOR TESTING.
METHODS weekend_hire FOR TESTING.
METHODS group_hire FOR TESTING.
METHODS weekend_group_hire FOR TESTING.
METHODS too_many_days FOR TESTING.
METHODS no_guests FOR TESTING.
ENDCLASS.
CLASS ltc_sauna_pricer IMPLEMENTATION.
METHOD setup.
mo_cut = NEW {{p}}sauna_pricer( ).
ENDMETHOD.
METHOD base_hire.
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_sauna_price=>ty_amount( '360.00' )
act = mo_cut->calculate( iv_days = 3 iv_guests = 4 iv_weekend = abap_false ) ).
ENDMETHOD.
METHOD weekend_hire.
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_sauna_price=>ty_amount( '300.00' )
act = mo_cut->calculate( iv_days = 2 iv_guests = 4 iv_weekend = abap_true ) ).
ENDMETHOD.
METHOD group_hire.
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_sauna_price=>ty_amount( '420.00' )
act = mo_cut->calculate( iv_days = 3 iv_guests = 8 iv_weekend = abap_false ) ).
ENDMETHOD.
METHOD weekend_group_hire.
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_sauna_price=>ty_amount( '300.00' )
act = mo_cut->calculate( iv_days = 2 iv_guests = 8 iv_weekend = abap_true ) ).
ENDMETHOD.
METHOD too_many_days.
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_sauna_price=>ty_amount( '0.00' )
act = mo_cut->calculate( iv_days = 15 iv_guests = 4 iv_weekend = abap_false ) ).
ENDMETHOD.
METHOD no_guests.
cl_abap_unit_assert=>assert_equals(
exp = CONV {{p}}if_sauna_price=>ty_amount( '0.00' )
act = mo_cut->calculate( iv_days = 2 iv_guests = 0 iv_weekend = abap_false ) ).
ENDMETHOD.
ENDCLASS.