public void TradingStatus_Enabled() { var status = InstrumentTradingStatus.Enabled(); Assert.True(status.TradingEnabled); Assert.That(status.Reason == InstrumentTradingDisabledReason.None); }
public InstrumentTradingStatus GetInstrumentTradingStatus(string assetPairId, TimeSpan scheduleCutOff) { var assetPair = _assetPairsCache.GetAssetPairByIdOrDefault(assetPairId); if (assetPair == null) { _log.WriteWarningAsync(nameof(ScheduleSettingsCacheService), nameof(GetInstrumentTradingStatus), $"AssetPair [{assetPairId}] does not exist in cache. Trading is disabled.").GetAwaiter().GetResult(); return(InstrumentTradingStatus.Disabled(InstrumentTradingDisabledReason.InstrumentNotFound)); } if (assetPair.IsTradingDisabled) { return(InstrumentTradingStatus.Disabled(InstrumentTradingDisabledReason.InstrumentTradingDisabled)); } if (!_marketStates.TryGetValue(assetPair.MarketId, out var marketState)) { _log.WriteWarningAsync(nameof(ScheduleSettingsCacheService), nameof(GetInstrumentTradingStatus), $"Market status of market [{assetPair.MarketId}] for asset pair [{assetPairId}] does not exist in cache. Trading is disabled.").GetAwaiter().GetResult(); return(InstrumentTradingStatus.Disabled(InstrumentTradingDisabledReason.MarketStateNotFound)); } return(marketState.IsEnabled ? InstrumentTradingStatus.Enabled() : InstrumentTradingStatus.Disabled(InstrumentTradingDisabledReason.MarketDisabled)); }
public ExternalOrderbookServicesBenchmark() { var doMock = new Mock <IAssetPairDayOffService>(); doMock.Setup(a => a.IsAssetTradingDisabled(It.IsAny <string>())).Returns(InstrumentTradingStatus.Enabled()); _service = new ExternalOrderbookService( Mock.Of <IEventChannel <BestPriceChangeEventArgs> >(), Mock.Of <IOrderBookProviderApi>(), Mock.Of <IDateService>(), Mock.Of <IConvertService>(), doMock.Object, Mock.Of <ScheduleSettingsCacheService>(), Mock.Of <IAssetPairsCache>(), Mock.Of <ICqrsSender>(), Mock.Of <IIdentityGenerator>(), Mock.Of <ILog>(), new MarginTradingSettings() { DefaultExternalExchangeId = "test" }); _lightweightService = new LightweightExternalOrderbookService( Mock.Of <IEventChannel <BestPriceChangeEventArgs> >(), Mock.Of <IOrderBookProviderApi>(), Mock.Of <IDateService>(), Mock.Of <IConvertService>(), Mock.Of <IScheduleSettingsCacheService>(), doMock.Object, Mock.Of <IAssetPairsCache>(), Mock.Of <ICqrsSender>(), Mock.Of <IIdentityGenerator>(), Mock.Of <ILog>(), new MarginTradingSettings() { DefaultExternalExchangeId = "test" }); }
public void TradingStatus_Enabled_BackwardsCompatibility() { var status = InstrumentTradingStatus.Enabled(); Assert.False(status); }