Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
114 lines
5.3 KiB
ABAP
114 lines
5.3 KiB
ABAP
CLASS {{p}}t02_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
|
PRIVATE SECTION.
|
|
DATA mo_cut TYPE REF TO {{p}}laundry_pricer.
|
|
METHODS setup.
|
|
METHODS wash_basic FOR TESTING.
|
|
METHODS dry_basic FOR TESTING.
|
|
METHODS iron_basic FOR TESTING.
|
|
METHODS iron_above_min FOR TESTING.
|
|
METHODS express_no_member FOR TESTING.
|
|
METHODS member_no_express FOR TESTING.
|
|
METHODS member_then_express FOR TESTING.
|
|
METHODS min_after_discount FOR TESTING.
|
|
METHODS unknown_service FOR TESTING.
|
|
METHODS rounding FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}t02_hidden IMPLEMENTATION.
|
|
METHOD setup.
|
|
mo_cut = NEW {{p}}laundry_pricer( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD wash_basic.
|
|
DATA(lv_price) = mo_cut->calculate( iv_weight_kg = '2.00'
|
|
iv_service = {{p}}laundry_pricer=>c_service_wash
|
|
iv_express = abap_false
|
|
iv_member = abap_false ).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}laundry_pricer=>ty_amount( '10.00' )
|
|
act = lv_price ).
|
|
ENDMETHOD.
|
|
|
|
METHOD dry_basic.
|
|
DATA(lv_price) = mo_cut->calculate( iv_weight_kg = '3.00'
|
|
iv_service = {{p}}laundry_pricer=>c_service_dry
|
|
iv_express = abap_false
|
|
iv_member = abap_false ).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}laundry_pricer=>ty_amount( '12.00' )
|
|
act = lv_price ).
|
|
ENDMETHOD.
|
|
|
|
METHOD iron_basic.
|
|
DATA(lv_price) = mo_cut->calculate( iv_weight_kg = '5.00'
|
|
iv_service = {{p}}laundry_pricer=>c_service_iron
|
|
iv_express = abap_false
|
|
iv_member = abap_false ).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}laundry_pricer=>ty_amount( '10.00' )
|
|
act = lv_price ).
|
|
ENDMETHOD.
|
|
|
|
METHOD iron_above_min.
|
|
DATA(lv_price) = mo_cut->calculate( iv_weight_kg = '8.00'
|
|
iv_service = {{p}}laundry_pricer=>c_service_iron
|
|
iv_express = abap_false
|
|
iv_member = abap_false ).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}laundry_pricer=>ty_amount( '12.00' )
|
|
act = lv_price ).
|
|
ENDMETHOD.
|
|
|
|
METHOD express_no_member.
|
|
DATA(lv_price) = mo_cut->calculate( iv_weight_kg = '4.00'
|
|
iv_service = {{p}}laundry_pricer=>c_service_wash
|
|
iv_express = abap_true
|
|
iv_member = abap_false ).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}laundry_pricer=>ty_amount( '15.00' )
|
|
act = lv_price ).
|
|
ENDMETHOD.
|
|
|
|
METHOD member_no_express.
|
|
DATA(lv_price) = mo_cut->calculate( iv_weight_kg = '5.00'
|
|
iv_service = {{p}}laundry_pricer=>c_service_wash
|
|
iv_express = abap_false
|
|
iv_member = abap_true ).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}laundry_pricer=>ty_amount( '11.25' )
|
|
act = lv_price ).
|
|
ENDMETHOD.
|
|
|
|
METHOD member_then_express.
|
|
DATA(lv_price) = mo_cut->calculate( iv_weight_kg = '4.00'
|
|
iv_service = {{p}}laundry_pricer=>c_service_wash
|
|
iv_express = abap_true
|
|
iv_member = abap_true ).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}laundry_pricer=>ty_amount( '14.00' )
|
|
act = lv_price ).
|
|
ENDMETHOD.
|
|
|
|
METHOD min_after_discount.
|
|
DATA(lv_price) = mo_cut->calculate( iv_weight_kg = '2.00'
|
|
iv_service = {{p}}laundry_pricer=>c_service_wash
|
|
iv_express = abap_false
|
|
iv_member = abap_true ).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}laundry_pricer=>ty_amount( '10.00' )
|
|
act = lv_price ).
|
|
ENDMETHOD.
|
|
|
|
METHOD unknown_service.
|
|
DATA(lv_price) = mo_cut->calculate( iv_weight_kg = '2.00'
|
|
iv_service = 'XXXX'
|
|
iv_express = abap_false
|
|
iv_member = abap_false ).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}laundry_pricer=>ty_amount( '10.00' )
|
|
act = lv_price ).
|
|
ENDMETHOD.
|
|
|
|
METHOD rounding.
|
|
DATA(lv_price) = mo_cut->calculate( iv_weight_kg = '2.23'
|
|
iv_service = {{p}}laundry_pricer=>c_service_wash
|
|
iv_express = abap_true
|
|
iv_member = abap_false ).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV {{p}}laundry_pricer=>ty_amount( '10.58' )
|
|
act = lv_price ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|