52 lines
1.5 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|