public void CreateTimeSeriesSubscriptionTest() { var symbol = "SYMA"; var s = DXEndpoint.Create().Feed.CreateTimeSeriesSubscription <IDxCandle>(); s.AddSymbols(symbol); TestListener eventListener = new TestListener(); s.AddEventListener(eventListener); var playedCandle = new PlayedCandle(symbol, Tools.DateToUnixTime(DateTime.Now), 123, 100, 12.34, 56.78, 9.0, 43.21, 1000, 999, 1001, 1002, 1, 777, 888, EventFlag.RemoveSymbol); EventPlayer <IDxCandle> eventPlayer = new EventPlayer <IDxCandle>(s as DXFeedSubscription <IDxCandle>); eventPlayer.PlayEvents(symbol, playedCandle); Assert.AreEqual(eventListener.GetEventCount <IDxCandle>(symbol), 1); IDxCandle receivedCandle = eventListener.GetLastEvent <IDxCandle>().Event; Assert.AreEqual(symbol, receivedCandle.EventSymbol.ToString()); CompareCandles(playedCandle, receivedCandle); //thread-safety case DXEndpoint.Create(); Parallel.For(ParallelFrom, ParallelTo, i => { Assert.DoesNotThrow(() => { DXEndpoint.GetInstance().Feed.CreateTimeSeriesSubscription <IDxCandle>(); }); }); }
public void CreateSubscriptionTest() { var symbol = "SYMA"; var s = DXEndpoint.Create().Feed.CreateSubscription <IDxOrder>(); s.AddSymbols(symbol); TestListener eventListener = new TestListener(); s.AddEventListener(eventListener); var playedOrder = new PlayedOrder(symbol, 0, 0x4e54560000000006, 0, 0, 0, 0, 100, 25, Scope.Order, Side.Buy, 'A', OrderSource.NTV, "AAAA"); EventPlayer <IDxOrder> eventPlayer = new EventPlayer <IDxOrder>(s as DXFeedSubscription <IDxOrder>); eventPlayer.PlayEvents(symbol, playedOrder); Assert.AreEqual(eventListener.GetEventCount <IDxOrder>(symbol), 1); IDxOrder receivedOrder = eventListener.GetLastEvent <IDxOrder>().Event; Assert.AreEqual(symbol, receivedOrder.EventSymbol); CompareOrders(playedOrder, receivedOrder); //try to create subscription on closed endpoint DXEndpoint.GetInstance().Close(); Assert.Catch(typeof(InvalidOperationException), () => { DXFeed.GetInstance().CreateSubscription <IDxOrder>(); }); //thread-safety case DXEndpoint.Create(); Parallel.For(ParallelFrom, ParallelTo, i => { Assert.DoesNotThrow(() => { DXFeed.GetInstance().CreateSubscription <IDxOrder>(); }); }); }
public void ResetFromTimeStampTest() { string symbol = "SYMA"; TestListener eventListener = new TestListener(); var s = DXEndpoint.Create().Feed.CreateTimeSeriesSubscription <IDxCandle>(); s.OnSubscriptionClosed += OnSubscriptionClosed; s.OnSymbolsAdded += OnSymbolsAdded; s.OnSymbolsRemoved += OnSymbolsRemoved; s.AddEventListener(eventListener); s.AddSymbols(symbol); Assert.AreEqual(long.MaxValue, s.FromTimeStamp); //try to change FromTimeStamp property isFiresOnSubscriptionClosed = false; isFiresOnSymbolsAdded = false; isFiresOnSymbolsRemoved = false; long fromTime = Tools.DateToUnixTime(DateTime.Now.AddMonths(-1)); s.FromTimeStamp = fromTime; Assert.AreEqual(fromTime, s.FromTimeStamp); Assert.True(s.GetSymbols().SetEquals(new object[] { symbol })); Assert.True(s.EventTypes.SetEquals(new Type[] { typeof(IDxCandle) })); Assert.False(isFiresOnSubscriptionClosed); Assert.False(isFiresOnSymbolsAdded); Assert.False(isFiresOnSymbolsRemoved); var playedCandle = new PlayedCandle(symbol, Tools.DateToUnixTime(DateTime.Now), 123, 100, 12.34, 56.78, 9.0, 43.21, 1000, 999, 1001, 1002, 1, 777, 888, EventFlag.RemoveSymbol); EventPlayer <IDxCandle> eventPlayer = new EventPlayer <IDxCandle>(s as DXFeedSubscription <IDxCandle>); eventPlayer.PlayEvents(symbol, playedCandle); Assert.AreEqual(eventListener.GetEventCount <IDxCandle>(symbol), 1); IDxCandle receivedCandle = eventListener.GetLastEvent <IDxCandle>().Event; Assert.AreEqual(symbol, receivedCandle.EventSymbol.ToString()); DXFeedTest.CompareCandles(playedCandle, receivedCandle); }
public void TestAddSymbol() { TestListener listener = new TestListener(eventsTimeout, eventsSleepTime, IsConnected); EventType events = EventType.Order; using (var con = new NativeConnection(address, OnDisconnect)) { Interlocked.Exchange(ref isConnected, 1); using (IDxSubscription s = con.CreateSubscription(events, listener)) { s.AddSymbol("AAPL"); listener.WaitEvents <IDxOrder>(); TestListener.ReceivedEvent <IDxOrder> e = listener.GetLastEvent <IDxOrder>(); Assert.AreEqual("AAPL", e.Symbol); s.AddSymbol("IBM"); listener.ClearEvents <IDxOrder>(); listener.WaitEvents <IDxOrder>("AAPL", "IBM"); } } }