CLASS ltc_jump_pricer DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS. PRIVATE SECTION. DATA mo_cut TYPE REF TO {{p}}jump_pricer. METHODS setup. METHODS zero_persons FOR TESTING. METHODS zero_minutes FOR TESTING. METHODS short_session FOR TESTING. METHODS long_session FOR TESTING. METHODS member_discount FOR TESTING. METHODS group_discount FOR TESTING. METHODS member_and_group FOR TESTING. ENDCLASS. CLASS ltc_jump_pricer IMPLEMENTATION. METHOD setup. mo_cut = NEW {{p}}jump_pricer( ). ENDMETHOD. METHOD zero_persons. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}jump_pricer=>ty_amount( '0.00' ) act = mo_cut->calculate( iv_persons = 0 iv_minutes = 30 iv_member = abap_false ) ). ENDMETHOD. METHOD zero_minutes. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}jump_pricer=>ty_amount( '0.00' ) act = mo_cut->calculate( iv_persons = 4 iv_minutes = 0 iv_member = abap_false ) ). ENDMETHOD. METHOD short_session. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}jump_pricer=>ty_amount( '16.00' ) act = mo_cut->calculate( iv_persons = 2 iv_minutes = 30 iv_member = abap_false ) ). ENDMETHOD. METHOD long_session. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}jump_pricer=>ty_amount( '36.00' ) act = mo_cut->calculate( iv_persons = 3 iv_minutes = 90 iv_member = abap_false ) ). ENDMETHOD. METHOD member_discount. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}jump_pricer=>ty_amount( '12.80' ) act = mo_cut->calculate( iv_persons = 2 iv_minutes = 30 iv_member = abap_true ) ). ENDMETHOD. METHOD group_discount. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}jump_pricer=>ty_amount( '72.00' ) act = mo_cut->calculate( iv_persons = 10 iv_minutes = 30 iv_member = abap_false ) ). ENDMETHOD. METHOD member_and_group. cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}jump_pricer=>ty_amount( '86.40' ) act = mo_cut->calculate( iv_persons = 10 iv_minutes = 90 iv_member = abap_true ) ). ENDMETHOD. ENDCLASS.