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); } } }