예제 #1
0
        public void TestInitialize()
        {
            _externalLimitOrderServiceMock.Setup(o => o.GetByParentIdAsync(It.IsAny <string>()))
            .Returns((string parentId) =>
            {
                _externalLimitOrders.TryGetValue(parentId, out List <ExternalLimitOrder> externalLimitOrders);
                return(Task.FromResult <IReadOnlyList <ExternalLimitOrder> >(
                           externalLimitOrders ?? new List <ExternalLimitOrder>()));
            });

            _aggregatedOrderBookServiceMock.Setup(o => o.GetByAssetPair(It.IsAny <string>()))
            .Returns((string assetPair) => _aggregatedOrderBook.AssetPair == assetPair
                    ? _aggregatedOrderBook
                    : null);

            _exchangeSettingsServiceMock.Setup(o => o.GetByNameAsync(It.IsAny <string>()))
            .Returns((string exchangeName) =>
            {
                _exchangeSettings.TryGetValue(exchangeName, out ExchangeSettings exchangeSettings);
                return(Task.FromResult(exchangeSettings));
            });

            _service = new SmartOrderRouter(
                _marketOrderServiceMock.Object,
                _externalLimitOrderServiceMock.Object,
                _aggregatedOrderBookServiceMock.Object,
                _exchangeSettingsServiceMock.Object,
                _marketInstrumentServiceMock.Object,
                _settingsServiceMock.Object,
                _exchangeServiceMock.Object,
                EmptyLogFactory.Instance);
        }
 public SmartOrderRouterTimer(
     ISmartOrderRouter balanceService,
     ISettingsService settingsService,
     ILogFactory logFactory)
 {
     _smartOrderRouter = balanceService;
     _settingsService  = settingsService;
     Log = logFactory.CreateLog(this);
 }