Files
zszq-trs/UnitTestProject/BasicTests/GLMSGreeksHandleServiceTest.cs
2026-08-20 14:15:12 +08:00

52 lines
1.5 KiB
C#

using YLErp.Modules.CalculationModule;
using YLErp.Modules.EodModule;
namespace YLErp.BasicTests
{
[TestClass]
public class GLMSGreeksHandleServiceTest
{
[TestMethod]
public void Handle_NonRateAsset_CalculatesVega1bpBeforeRateFilter()
{
var service = new GLMSGreeksHandleService();
var dto = new EodPositionRisksDTO
{
Vega = 2500d
};
var underlying = new underlying_manager
{
UnderlyingInstrumentType = ConsGlobal.InstrumentType.Stock
};
service.Handle(dto, underlying);
Assert.IsNotNull(dto.Vega_1bp);
Assert.AreEqual(0.25d, dto.Vega_1bp.Value, 1e-12);
Assert.IsNull(dto.Vega_r);
Assert.IsNull(dto.Vega_r_1bp);
}
[TestMethod]
public void Handle_TradeValueResult_NonRateAsset_CalculatesVega1bpBeforeRateFilter()
{
var service = new GLMSGreeksHandleService();
var result = new TradeValueResult
{
Vega = 2500d
};
var underlying = new underlying_manager
{
UnderlyingInstrumentType = ConsGlobal.InstrumentType.Stock
};
service.Handle(new trade(), result, underlying);
Assert.IsNotNull(result.Vega_1bp);
Assert.AreEqual(0.25d, result.Vega_1bp.Value, 1e-12);
Assert.IsNull(result.Vega_r);
Assert.IsNull(result.Vega_r_1bp);
}
}
}