Merge branch 'glms/feature/dotnumber' into glms/feature/1.4.2
# Conflicts: # YLErpWeb/Views/SwapTrade2/TradeEdit.cshtml # YLErpWeb/wwwroot/Scripts/app/swaptrade/swapTradeEdit.js
This commit is contained in:
@@ -237,5 +237,26 @@ namespace YLErp.Modules.SwapModule
|
||||
Assert.AreEqual("确认成交", td.TradeStatus, "部分平仓 TradeStatus 保持不变");
|
||||
Console.WriteLine($"UW_008: A=0.3→B={service.SaveSwapDealCalls[0].data.ClosePercent}, HasPartialUnWind={td.HasPartialUnWind} ✅");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void UW_009_SwapUnwind_名义本金写入前舍入两位小数()
|
||||
{
|
||||
var td = SwapDealTestFactory.CreateTrade();
|
||||
td.StockEqvNotional = 1000000.006;
|
||||
var service = new TestableSwapDealService(td);
|
||||
var unwindData = SwapDealTestFactory.CreateUnwindData(
|
||||
swapRealizedPnL: 0m, closeMethod: (int)CloseMethodEnum.部分平仓, closePercent: 0.5m,
|
||||
closeQty: 5000m, closeNotionalValue: 500000.004m, positionQty: 10000m);
|
||||
unwindData.NotionalValue = 1000000.006m;
|
||||
unwindData.PosiNotionalValue = 1000000.006m;
|
||||
|
||||
service.SwapUnwind(unwindData);
|
||||
|
||||
var savedData = service.SaveSwapDealCalls[0].data;
|
||||
Assert.AreEqual(1000000.01m, savedData.NotionalValue, "期初名义本金应按两位小数写入事件");
|
||||
Assert.AreEqual(1000000.01m, savedData.PosiNotionalValue, "剩余名义本金应按两位小数写入事件");
|
||||
Assert.AreEqual(500000.00m, savedData.CloseNotionalValue, "平仓名义本金应按两位小数写入事件");
|
||||
Assert.AreEqual(500000.01, td.StockEqvNotional, 0.000001, "trade 剩余名义本金应在扣减后舍入两位小数");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user