Ejemplo n.º 1
0
 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,
     });
 }
Ejemplo n.º 2
0
        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)));
        }
Ejemplo n.º 3
0
 public static StopOrAllowNewTradesMessage GetExpectedTradesControls(this IMmTestEnvironment testEnvironment,
                                                                     string assetPairId, bool isStopped)
 {
     return(new StopOrAllowNewTradesMessage
     {
         AssetPairId = assetPairId,
         MarketMakerId = "testMmId",
         Stop = isStopped,
     });
 }
Ejemplo n.º 4
0
 public static PrimaryExchangeSwitchedMessage GetExpectedPrimaryExchangeMessage(
     this IMmTestEnvironment testEnvironment,
     string assetPairId, string exchange)
 {
     return(new PrimaryExchangeSwitchedMessage
     {
         AssetPairId = assetPairId,
         MarketMakerId = "testMmId",
         NewPrimaryExchange = new ExchangeQualityMessage {
             ExchangeName = exchange
         },
     });
 }
Ejemplo n.º 5
0
        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,
            });
        }
Ejemplo n.º 6
0
 public static DateTime SleepSecs(this IMmTestEnvironment env, double seconds)
 {
     return(env.Sleep(TimeSpan.FromSeconds(seconds)));
 }
Ejemplo n.º 7
0
 public static DateTime Sleep(this IMmTestEnvironment env, TimeSpan time)
 {
     return(env.UtcNow += time);
 }
Ejemplo n.º 8
0
 public static void PrintLogs(this IMmTestEnvironment testEnvironment)
 {
     Console.WriteLine(JsonConvert.SerializeObject(Trace.TraceService.GetLast(), Formatting.Indented));
 }
Ejemplo n.º 9
0
 public static StartedMessage GetStartedMessage(this IMmTestEnvironment testEnvironment)
 {
     return(new StartedMessage {
         MarketMakerId = "testMmId"
     });
 }
Ejemplo n.º 10
0
 public static void VerifyMessagesSentWithTime(this IMmTestEnvironment testEnvironment, params object[] messages)
 {
     VerifyMessagesSentCore(testEnvironment, messages, o => o);
 }
Ejemplo n.º 11
0
 public static void VerifyMessagesSent(this IMmTestEnvironment testEnvironment, params object[] messages)
 {
     VerifyMessagesSentCore(testEnvironment, messages, o => o
                            .Excluding(i => i.SelectedMemberPath.EndsWith(".Timestamp", StringComparison.OrdinalIgnoreCase)));
 }