Step F first pass: 81/92 accepted; budget floor 60 calls; rejected slots moved for regeneration
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
CLASS ltc_commission DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
DATA mo_cut TYPE REF TO {{p}}if_commission.
|
||||
METHODS setup.
|
||||
METHODS assert_bonus
|
||||
IMPORTING iv_expected TYPE {{p}}if_commission=>ty_amount
|
||||
iv_sales TYPE {{p}}if_commission=>ty_amount
|
||||
iv_target TYPE {{p}}if_commission=>ty_amount
|
||||
iv_years TYPE i.
|
||||
METHODS zero_or_negative FOR TESTING.
|
||||
METHODS below_half_target FOR TESTING.
|
||||
METHODS at_target FOR TESTING.
|
||||
METHODS above_target FOR TESTING.
|
||||
METHODS top_tier FOR TESTING.
|
||||
METHODS loyalty_bonus FOR TESTING.
|
||||
METHODS cap_applied FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltc_commission IMPLEMENTATION.
|
||||
METHOD setup.
|
||||
mo_cut = NEW {{p}}commission_calc( ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD assert_bonus.
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = iv_expected
|
||||
act = mo_cut->calculate( iv_sales = iv_sales
|
||||
iv_target = iv_target
|
||||
iv_years = iv_years ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zero_or_negative.
|
||||
assert_bonus( iv_expected = 0 iv_sales = 0 iv_target = 1000 iv_years = 0 ).
|
||||
assert_bonus( iv_expected = 0 iv_sales = -100 iv_target = 1000 iv_years = 0 ).
|
||||
assert_bonus( iv_expected = 0 iv_sales = 1000 iv_target = 0 iv_years = 0 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD below_half_target.
|
||||
assert_bonus( iv_expected = 0 iv_sales = 400 iv_target = 1000 iv_years = 0 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD at_target.
|
||||
assert_bonus( iv_expected = 10 iv_sales = 1000 iv_target = 1000 iv_years = 0 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD above_target.
|
||||
assert_bonus( iv_expected = 16 iv_sales = 1200 iv_target = 1000 iv_years = 0 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD top_tier.
|
||||
assert_bonus( iv_expected = 50 iv_sales = 2000 iv_target = 1000 iv_years = 0 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD loyalty_bonus.
|
||||
assert_bonus( iv_expected = 210 iv_sales = 1000 iv_target = 1000 iv_years = 5 ).
|
||||
assert_bonus( iv_expected = 510 iv_sales = 1000 iv_target = 1000 iv_years = 10 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD cap_applied.
|
||||
assert_bonus( iv_expected = 5000 iv_sales = 100000 iv_target = 1000 iv_years = 10 ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user