public TraderTests() { _trader = new Trader(_subscription); _orderManager = new OrderManagerSpy(_orderService); _trader.AddStrategy(_strategy); _trader.SetOrderManager(_orderManager); }
public async Task MarketIsLinkedToEachStrategy(string marketId) { var strategy2 = new StrategySpy(); _trader.AddStrategy(strategy2); await _trader.TradeMarket(marketId, 0, default); Assert.Equal(marketId, _strategy.LinkedMarketId()); Assert.Equal(marketId, strategy2.LinkedMarketId()); }
public async Task ThrowIfOrderManagerNotSet() { var emptyTrader = new Trader(_subscription); emptyTrader.AddStrategy(_strategy); var ex = await Assert.ThrowsAsync <InvalidOperationException>(() => emptyTrader.TradeMarket("MarketId", 0, CancellationToken.None)); Assert.Equal("Trader must contain an OrderManager.", ex.Message); }