public async Task TradesSubscriptionWorks() { using (var client = ClientsFactory.GetPolygonSockClient()) { await connectAndAuthenticate(client); var waitObject = new AutoResetEvent(false); client.TradeReceived += (trade) => { Assert.Equal(SYMBOL, trade.Symbol); waitObject.Set(); }; waitObject.Reset(); client.SubscribeTrade(SYMBOL); if (_restClient.GetClockAsync().Result.IsOpen) { Assert.True(waitObject.WaitOne( TimeSpan.FromSeconds(10))); } await client.DisconnectAsync(); } }
public async Task SeveralSubscriptionWorks() { using (var client = ClientsFactory.GetPolygonSockClient()) { await connectAndAuthenticate(client); var waitObjects = new [] { new AutoResetEvent(false), new AutoResetEvent(false) }; client.TradeReceived += (trade) => { Assert.Equal(SYMBOL, trade.Symbol); waitObjects[0].Set(); }; client.QuoteReceived += (quote) => { Assert.Equal(SYMBOL, quote.Symbol); waitObjects[1].Set(); }; client.SubscribeTrade(SYMBOL); client.SubscribeQuote(SYMBOL); if (_restClient.GetClockAsync().Result.IsOpen) { // ReSharper disable once CoVariantArrayConversion Assert.True(WaitHandle.WaitAll( waitObjects, TimeSpan.FromSeconds(10))); } await client.DisconnectAsync(); } }