public void OrderPredicateNullNothing() { var state = new TestState(); state.Activate(AlgorithmConfiguration, _container); var next = state.OnOrderUpdate(null); Assert.IsType <NothingState <TemplateAlgorithmConfiguration> >(next); }
public void SetTimerSetsEndTime() { var state = new TestState(); var now = _container.TimerProvider.CurrentTime; var span = TimeSpan.FromDays(8); state.Activate(AlgorithmConfiguration, _container); _setTimer(state, span); Assert.Equal((now + span).DateTime, state.EndTime.DateTime, TimeSpan.FromMilliseconds(1000)); }
public void OnTimerDefaultNothing() { var state = new TestState(); Program.CommandLineArgs.Trading = true; state.Activate(AlgorithmConfiguration, _container); var next = state.OnTimerElapsed(); Assert.IsType <NothingState <TemplateAlgorithmConfiguration> >(next); }
public void OrderPredicateDefaultBacktestError() { var state = new TestState(); state.Activate(AlgorithmConfiguration, _container); Program.CommandLineArgs.Trading = false; var order = new OrderUpdate( orderId: 0, tradeId: 0, orderStatus: OrderUpdate.OrderStatus.Filled, orderType: OrderUpdate.OrderTypes.Limit, createdTimestamp: 0, setPrice: 0, side: OrderSide.Buy, pair: TradingPair.Parse("EOSETH"), setQuantity: 0); Assert.Throws <AlgorithmLogicException>(() => state.OnOrderUpdate(order)); }
public void OrderPredicateMarketNoError() { var state = new TestState(); state.Activate(AlgorithmConfiguration, _container); Program.CommandLineArgs.Trading = false; var order = new OrderUpdate( orderId: 0, tradeId: 0, orderStatus: OrderUpdate.OrderStatus.Filled, orderType: OrderUpdate.OrderTypes.Market, createdTimestamp: 0, setPrice: 0, side: OrderSide.Buy, pair: TradingPair.Parse("EOSETH"), setQuantity: 0); var next = state.OnOrderUpdate(order); Assert.IsType <NothingState <TemplateAlgorithmConfiguration> >(next); }
public void RunHappyFlow() { var state = new TestState(); state.Activate(AlgorithmConfiguration, _container); }