public static ExternalExchangeOrderbookMessage GetInpMessage(this IMmTestEnvironment testEnvironment, string exchangeName, Generator <decimal> decimals) { return(new ExternalExchangeOrderbookMessage { Bids = new List <VolumePrice> { new VolumePrice { Price = decimals.Next(), Volume = decimals.Next() }, new VolumePrice { Price = decimals.Next(), Volume = decimals.Next() } }, Asks = new List <VolumePrice> { new VolumePrice { Price = decimals.Next(), Volume = decimals.Next() }, new VolumePrice { Price = decimals.Next(), Volume = decimals.Next() } }, AssetPairId = "BTCUSD", Source = exchangeName, Timestamp = testEnvironment.UtcNow, }); }
private static void VerifyMessagesSentCore(this IMmTestEnvironment testEnvironment, IEnumerable <object> messages, Func <EquivalencyAssertionOptions <object>, EquivalencyAssertionOptions <object> > config) { var sent = testEnvironment.StubRabbitMqService.GetSentMessages(); sent.Should().BeEquivalentTo(messages, o => config(o.WithStrictOrdering().Using <object>(CustomCompare).When(s => true))); }
public static StopOrAllowNewTradesMessage GetExpectedTradesControls(this IMmTestEnvironment testEnvironment, string assetPairId, bool isStopped) { return(new StopOrAllowNewTradesMessage { AssetPairId = assetPairId, MarketMakerId = "testMmId", Stop = isStopped, }); }
public static PrimaryExchangeSwitchedMessage GetExpectedPrimaryExchangeMessage( this IMmTestEnvironment testEnvironment, string assetPairId, string exchange) { return(new PrimaryExchangeSwitchedMessage { AssetPairId = assetPairId, MarketMakerId = "testMmId", NewPrimaryExchange = new ExchangeQualityMessage { ExchangeName = exchange }, }); }
public static OrderCommandsBatchMessage GetExpectedCommandsBatch(this IMmTestEnvironment testEnvironment, string assetPairId, Generator <decimal> generator) { generator = generator.Clone(); var commands = new List <OrderCommand> { new OrderCommand { CommandType = OrderCommandTypeEnum.DeleteOrder } }; commands.AddRange(GetCommands(generator.Take(4), OrderDirectionEnum.Buy).OrderByDescending(e => e.Price)); commands.AddRange(GetCommands(generator.Take(4), OrderDirectionEnum.Sell).OrderBy(e => e.Price)); return(new OrderCommandsBatchMessage { AssetPairId = assetPairId, Commands = commands, MarketMakerId = "testMmId", Timestamp = testEnvironment.UtcNow, }); }
public static DateTime SleepSecs(this IMmTestEnvironment env, double seconds) { return(env.Sleep(TimeSpan.FromSeconds(seconds))); }
public static DateTime Sleep(this IMmTestEnvironment env, TimeSpan time) { return(env.UtcNow += time); }
public static void PrintLogs(this IMmTestEnvironment testEnvironment) { Console.WriteLine(JsonConvert.SerializeObject(Trace.TraceService.GetLast(), Formatting.Indented)); }
public static StartedMessage GetStartedMessage(this IMmTestEnvironment testEnvironment) { return(new StartedMessage { MarketMakerId = "testMmId" }); }
public static void VerifyMessagesSentWithTime(this IMmTestEnvironment testEnvironment, params object[] messages) { VerifyMessagesSentCore(testEnvironment, messages, o => o); }
public static void VerifyMessagesSent(this IMmTestEnvironment testEnvironment, params object[] messages) { VerifyMessagesSentCore(testEnvironment, messages, o => o .Excluding(i => i.SelectedMemberPath.EndsWith(".Timestamp", StringComparison.OrdinalIgnoreCase))); }