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,90 @@
|
||||
CLASS ltc_overdraft_calc DEFINITION FINAL FOR TESTING
|
||||
DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
CONSTANTS c_zero TYPE {{p}}if_overdraft=>ty_amount VALUE '0.00'.
|
||||
DATA mo_cut TYPE REF TO {{p}}if_overdraft.
|
||||
METHODS setup.
|
||||
METHODS zero_amount FOR TESTING.
|
||||
METHODS grace_days FOR TESTING.
|
||||
METHODS private_tier FOR TESTING.
|
||||
METHODS business_rate FOR TESTING.
|
||||
METHODS minimum_charge FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltc_overdraft_calc IMPLEMENTATION.
|
||||
METHOD setup.
|
||||
CREATE OBJECT mo_cut TYPE {{p}}overdraft_calc.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zero_amount.
|
||||
DATA lv_act TYPE {{p}}if_overdraft=>ty_amount.
|
||||
|
||||
CALL METHOD mo_cut->calculate
|
||||
EXPORTING
|
||||
iv_amount = '0.00'
|
||||
iv_days = 30
|
||||
iv_segment = {{p}}if_overdraft=>c_segment_private
|
||||
RECEIVING
|
||||
rv_interest = lv_act.
|
||||
cl_abap_unit_assert=>assert_equals( exp = c_zero act = lv_act ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD grace_days.
|
||||
DATA lv_act TYPE {{p}}if_overdraft=>ty_amount.
|
||||
|
||||
CALL METHOD mo_cut->calculate
|
||||
EXPORTING
|
||||
iv_amount = '1000.00'
|
||||
iv_days = 3
|
||||
iv_segment = {{p}}if_overdraft=>c_segment_private
|
||||
RECEIVING
|
||||
rv_interest = lv_act.
|
||||
cl_abap_unit_assert=>assert_equals( exp = c_zero act = lv_act ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD private_tier.
|
||||
DATA lv_act TYPE {{p}}if_overdraft=>ty_amount.
|
||||
DATA lv_exp TYPE {{p}}if_overdraft=>ty_amount.
|
||||
|
||||
lv_exp = '10.00'.
|
||||
CALL METHOD mo_cut->calculate
|
||||
EXPORTING
|
||||
iv_amount = '1000.00'
|
||||
iv_days = 33
|
||||
iv_segment = {{p}}if_overdraft=>c_segment_private
|
||||
RECEIVING
|
||||
rv_interest = lv_act.
|
||||
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_act ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD business_rate.
|
||||
DATA lv_act TYPE {{p}}if_overdraft=>ty_amount.
|
||||
DATA lv_exp TYPE {{p}}if_overdraft=>ty_amount.
|
||||
|
||||
lv_exp = '13.33'.
|
||||
CALL METHOD mo_cut->calculate
|
||||
EXPORTING
|
||||
iv_amount = '2000.00'
|
||||
iv_days = 33
|
||||
iv_segment = {{p}}if_overdraft=>c_segment_business
|
||||
RECEIVING
|
||||
rv_interest = lv_act.
|
||||
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_act ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD minimum_charge.
|
||||
DATA lv_act TYPE {{p}}if_overdraft=>ty_amount.
|
||||
DATA lv_exp TYPE {{p}}if_overdraft=>ty_amount.
|
||||
|
||||
lv_exp = '5.00'.
|
||||
CALL METHOD mo_cut->calculate
|
||||
EXPORTING
|
||||
iv_amount = '500.00'
|
||||
iv_days = 10
|
||||
iv_segment = {{p}}if_overdraft=>c_segment_private
|
||||
RECEIVING
|
||||
rv_interest = lv_act.
|
||||
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_act ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user