public void OldBaseFillModel_MarketOnCloseFill(bool isMarketAlwaysOpen) { var model = new TestFillModelInheritBaseClass(); var security = SecurityTests.GetSecurity(isMarketAlwaysOpen); var reference = new DateTime(2022, 4, 5, 10, 0, 0); var referenceUtc = reference.ConvertToUtc(TimeZones.NewYork); var timeKeeper = new TimeKeeper(referenceUtc); security.SetLocalTimeKeeper(timeKeeper.GetLocalTimeKeeper(TimeZones.NewYork)); var args = new FillModelParameters(security, new MarketOnCloseOrder(security.Symbol, 1, orderDateTime), new MockSubscriptionDataConfigProvider(_config), Time.OneHour); if (isMarketAlwaysOpen) { Assert.Throws <InvalidOperationException>(() => model.Fill(args)); } else { var result = model.Fill(args); Assert.True(model.MarketOnCloseFillWasCalled); Assert.IsNotNull(result); Assert.True(model.GetPricesWasCalled); Assert.AreEqual(12345, result.OrderEvent.FillPrice); } }
public void OldBaseFillModel_MarketOnCloseFill() { var model = new TestFillModelInheritBaseClass(); var result = model.Fill( new FillModelParameters(_security, new MarketOnCloseOrder(_security.Symbol, 1, orderDateTime), new MockSubscriptionDataConfigProvider(_config))); Assert.True(model.MarketOnCloseFillWasCalled); Assert.IsNotNull(result); Assert.True(model.GetPricesWasCalled); Assert.AreEqual(12345, result.OrderEvent.FillPrice); }
public void OldBaseFillModel_MarketOnOpenFill() { var model = new TestFillModelInheritBaseClass(); _security.SetMarketPrice(new Tick(orderDateTime, _security.Symbol, 88, 88) { TickType = TickType.Trade }); var result = model.Fill( new FillModelParameters(_security, new MarketOnOpenOrder(_security.Symbol, 1, orderDateTime), new MockSubscriptionDataConfigProvider(_config), Time.OneHour)); Assert.True(model.MarketOnOpenFillWasCalled); Assert.IsNotNull(result); Assert.True(model.GetPricesWasCalled); Assert.AreEqual(12345, result.OrderEvent.FillPrice); }