hjhan
|
be88442c91
|
test(swap): 扩展DealInterests测试-多次互换守恒+预付金ratio翻转
新增2个测试场景:
- DI_SWAP_MULTI_001: 攒10天→互换结清→再攒5天→再互换结清
守恒约束: RealizedInterest+InterestIncomeSum=全程利息(17天)
验证多次互换结算后利息不丢失/不重复
- DI_MARGIN_001: 预付金腿(初始预付金,marginTypes)互换结清后
RealizedInterest应为负(ratio翻转:收取→-1→支付方向)
验证cs:789-793的marginTypes ratio翻转逻辑
验证: 89(T0/T1)+7(DealInterests)=96全通过,无回归。
|
2026-07-01 18:25:44 +08:00 |
|
hjhan
|
775d7a5881
|
test(swap): 阶段3 扩展DealInterests测试-普通日归档值+多日连续守恒
依赖阶段1c的CalcSwapInterests虚方法接缝,现在普通日分支(copy)
也可纯内存测试。
新增/改进的测试:
- DI_BRANCH_001: 改为真正的普通日归档值验证(InterestIncomeSum
前日+1天新计=2天利息),不再是Inconclusive
- DI_MULTI_001: 连续5天收盘归档,验证InterestIncomeSum线性递增
(每天+1天利息,5天后=5×DailyInterest)
StubEodPositionService扩展:
- override CalcSwapInterests(用真实SwapDealService算固定利率利息)
- ExecuteDealInterests public包装(替代反射调用)
- 删除旧的反射辅助方法
验证: 89(T0/T1)+5(DealInterests)=94全通过,无回归。
|
2026-07-01 18:21:51 +08:00 |
|
hjhan
|
deb831bf3e
|
test(swap): 阶段2 DealInterests利息归档合成测试(testable迁移)
模仿GetInterestsUnitTest_T0风格,纯内存不连库:
- StubEodPositionService继承生产类,override PersistEodSwapPosition/
SaveAllChanges/GetCurrencyRate替换DB调用
- 内存构造trade/position/eod/flowEvent数据
- 独立计算期望值(非循环论证)
4个测试场景:
- DI_SWAP_ZERO_001: 互换结清后InterestIncomeSum=当天新计(非攒的全程)
- DI_SWAP_ZERO_002: 已结清后再互换(只结算当天新计)InterestIncomeSum=0
- DI_BRANCH_001: 普通日走copy分支
- DI_BRANCH_002: 互换日走SaveEodInterestPosition分支
验证: 89(T0/T1)+4(DealInterests)=93全通过,无回归。
注意: fc90636a把公式改回pre+新计-实现(比我之前的pre-实现更好,
保留了当天新计利息),测试断言已据此调整。
|
2026-07-01 17:47:00 +08:00 |
|