public void TestAddSymbolsCandle() { TestListener listener = new TestListener(eventsTimeout, eventsSleepTime, IsConnected); EventType events = EventType.Order; string symbol = "AAPL"; using (var con = new NativeConnection(address, OnDisconnect)) { Interlocked.Exchange(ref isConnected, 1); using (IDxSubscription s = con.CreateSubscription(events, listener)) { s.AddSymbol(symbol); listener.WaitEvents <IDxOrder>(); CandleSymbol[] candleSymbols = new CandleSymbol[] { CandleSymbol.ValueOf("XBT/USD{=d}"), CandleSymbol.ValueOf("AAPL{=d}"), CandleSymbol.ValueOf("IBM{=d}") }; s.AddSymbols(candleSymbols); listener.ClearEvents <IDxOrder>(); Assert.AreEqual(1, s.GetSymbols().Count); Assert.AreEqual(symbol, s.GetSymbols()[0]); } } }
public void TestGetSymbols() { 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)) { List <string> symbols = new List <string>(new string[] { "AAPL", "IBM" }); s.AddSymbols(symbols.ToArray()); IList <string> returnedSymbolList = s.GetSymbols(); Assert.AreEqual(symbols.Count, returnedSymbolList.Count); foreach (string symbol in returnedSymbolList) { Assert.True(symbols.Contains(symbol)); } s.Clear(); returnedSymbolList = s.GetSymbols(); Assert.AreEqual(0, returnedSymbolList.Count); } } }
public void TestAddSymbols() { TestListener listener = new TestListener(eventsTimeout, eventsSleepTime, IsConnected); string candleSymbolString = "XBT/USD{=d}"; using (var con = new NativeConnection(address, OnDisconnect)) { Interlocked.Exchange(ref isConnected, 1); using (IDxSubscription s = con.CreateSubscription(defaultDateTime, listener)) { //add candle symbol s.AddSymbol(CandleSymbol.ValueOf(candleSymbolString)); IList <string> returnedSymbolList = s.GetSymbols(); Assert.AreEqual(1, returnedSymbolList.Count); Assert.AreEqual(candleSymbolString, returnedSymbolList[0]); //try to add other non-candle symbols s.AddSymbols("AAPL", "IBM"); returnedSymbolList = s.GetSymbols(); Assert.AreEqual(1, returnedSymbolList.Count); Assert.AreEqual(candleSymbolString, returnedSymbolList[0]); listener.WaitEvents <IDxCandle>(candleSymbolString); } } }
public void TestGetSymbols() { SnapshotTestListener listener = new SnapshotTestListener(eventsTimeout, eventsSleepTime, IsConnected); string source = "NTV"; string symbol = "AAPL"; using (var con = new NativeConnection(address, OnDisconnect)) { Interlocked.Exchange(ref isConnected, 1); using (IDxSubscription s = con.CreateSnapshotSubscription(0, listener)) { s.AddSource(source); s.AddSymbol(symbol); listener.WaitSnapshot <IDxOrder>(symbol, source); IList <string> returnedSymbolList = s.GetSymbols(); Assert.AreEqual(1, returnedSymbolList.Count); Assert.AreEqual(symbol, returnedSymbolList[0]); s.Clear(); returnedSymbolList = s.GetSymbols(); Assert.AreEqual(0, returnedSymbolList.Count); } } }
public void TestSetSymbolsCandle() { TestListener listener = new TestListener(eventsTimeout, eventsSleepTime, IsConnected); string candleSymbolString = "XBT/USD{=d}"; string aaplSymbolString = "AAPL{=d,price=mark}"; string ibmSymbolString = "IBM{=d,price=mark}"; using (var con = new NativeConnection(address, OnDisconnect)) { Interlocked.Exchange(ref isConnected, 1); using (IDxSubscription s = con.CreateSubscription(defaultDateTime, listener)) { //add candle symbol s.AddSymbols(new CandleSymbol[] { CandleSymbol.ValueOf(aaplSymbolString), CandleSymbol.ValueOf(ibmSymbolString) }); IList <string> returnedSymbolList = s.GetSymbols(); Assert.AreEqual(2, returnedSymbolList.Count); listener.WaitEvents <IDxCandle>(aaplSymbolString, ibmSymbolString); //try to set other non-candle symbols s.SetSymbols(CandleSymbol.ValueOf(candleSymbolString)); returnedSymbolList = s.GetSymbols(); Assert.AreEqual(1, returnedSymbolList.Count); Assert.AreEqual(candleSymbolString, returnedSymbolList[0]); listener.ClearEvents <IDxCandle>(); listener.WaitEvents <IDxCandle>(candleSymbolString); } } }
public void TestClearSymbols2() { SnapshotTestListener listener = new SnapshotTestListener(eventsTimeout, eventsSleepTime, IsConnected); string source = "NTV"; string symbol = "AAPL"; string candleString = "XBT/USD{=d}"; using (var con = new NativeConnection(address, OnDisconnect)) { Interlocked.Exchange(ref isConnected, 1); using (IDxSubscription s = con.CreateSnapshotSubscription(0, listener)) { s.AddSource(source); s.AddSymbol(symbol); listener.WaitSnapshot <IDxOrder>(symbol, source); s.Clear(); listener.ClearEvents <IDxOrder>(); Assert.AreEqual(0, s.GetSymbols().Count); Thread.Sleep(10000); Assert.AreEqual(0, listener.GetSnapshotsCount <IDxOrder>(symbol)); //add another symbol s.AddSymbols(CandleSymbol.ValueOf(candleString)); listener.WaitSnapshot <IDxCandle>(candleString); } } }
private ISet <object> GetSymbolsUnsafe() { HashSet <object> symbolsSet = new HashSet <object>(); if (!IsClosed) { subscriptionInstance.GetSymbols().All(s => symbolsSet.Add(s)); } return(symbolsSet); }
public void TestRemoveSymbolsCandle() { SnapshotTestListener listener = new SnapshotTestListener(eventsTimeout, eventsSleepTime, IsConnected); string candleString = "XBT/USD{=d}"; CandleSymbol[] unusingSymbols = new CandleSymbol[] { CandleSymbol.ValueOf("AAPL{=d,price=mark}"), CandleSymbol.ValueOf("XBT/USD{=d,price=mark}") }; CandleSymbol[] usingSymbols = new CandleSymbol[] { CandleSymbol.ValueOf(candleString), CandleSymbol.ValueOf("AAPL{=d,price=mark}"), CandleSymbol.ValueOf("XBT/USD{=d,price=mark}") }; using (var con = new NativeConnection(address, OnDisconnect)) { Interlocked.Exchange(ref isConnected, 1); using (IDxSubscription s = con.CreateSnapshotSubscription(0, listener)) { s.AddSymbol(CandleSymbol.ValueOf(candleString)); Assert.AreEqual(1, s.GetSymbols().Count); listener.WaitSnapshot <IDxCandle>(candleString); Assert.Throws <ArgumentException>(delegate { s.RemoveSymbols((CandleSymbol[])null); }); s.RemoveSymbols(new CandleSymbol[] { null }); s.RemoveSymbols("AAPL", "XBT/USD"); s.RemoveSymbols(unusingSymbols); Thread.Sleep(5000); Assert.AreEqual(1, s.GetSymbols().Count); s.RemoveSymbols(usingSymbols); Thread.Sleep(3000); Assert.AreEqual(0, s.GetSymbols().Count); listener.ClearEvents <IDxCandle>(); Thread.Sleep(10000); Assert.AreEqual(0, listener.GetSnapshotsCount <IDxCandle>()); } } }
public void TestRemoveSymbols() { SnapshotTestListener listener = new SnapshotTestListener(eventsTimeout, eventsSleepTime, IsConnected); string source = "NTV"; string symbol = "AAPL"; string[] unusingSymbols = { "IBM", "XBT/USD" }; string[] usingSymbols = { symbol, "IBM", "XBT/USD" }; using (var con = new NativeConnection(address, OnDisconnect)) { Interlocked.Exchange(ref isConnected, 1); using (IDxSubscription s = con.CreateSnapshotSubscription(0, listener)) { s.AddSource(source); s.AddSymbol(symbol); Assert.AreEqual(1, s.GetSymbols().Count); listener.WaitSnapshot <IDxOrder>(symbol, source); Assert.Throws <ArgumentException>(delegate { s.RemoveSymbols((string[])null); }); s.RemoveSymbols(new string[] { string.Empty }); s.RemoveSymbols(new CandleSymbol[] { CandleSymbol.ValueOf("AAPL{=d,price=mark}"), CandleSymbol.ValueOf("XBT/USD{=d,price=mark}") }); s.RemoveSymbols(unusingSymbols); Thread.Sleep(5000); Assert.AreEqual(1, s.GetSymbols().Count); s.RemoveSymbols(usingSymbols); Thread.Sleep(3000); Assert.AreEqual(0, s.GetSymbols().Count); listener.ClearEvents <IDxOrder>(); Thread.Sleep(10000); Assert.AreEqual(0, listener.GetSnapshotsCount <IDxOrder>()); } } }
public void TestGetSymbolsCandle() { SnapshotTestListener listener = new SnapshotTestListener(eventsTimeout, eventsSleepTime, IsConnected); string candleString = "XBT/USD{=d}"; using (var con = new NativeConnection(address, OnDisconnect)) { Interlocked.Exchange(ref isConnected, 1); using (IDxSubscription s = con.CreateSnapshotSubscription(0, listener)) { s.AddSymbol(CandleSymbol.ValueOf(candleString)); listener.WaitSnapshot <IDxCandle>(candleString); IList <string> returnedSymbolList = s.GetSymbols(); Assert.AreEqual(1, returnedSymbolList.Count); Assert.AreEqual(candleString, returnedSymbolList[0]); s.Clear(); returnedSymbolList = s.GetSymbols(); Assert.AreEqual(0, returnedSymbolList.Count); } } }
public void TestGetSymbols() { TestListener listener = new TestListener(eventsTimeout, eventsSleepTime, IsConnected); string candleSymbolString = "XBT/USD{=d}"; CandleSymbol candleSymbol = CandleSymbol.ValueOf(candleSymbolString); using (var con = new NativeConnection(address, OnDisconnect)) { Interlocked.Exchange(ref isConnected, 1); using (IDxSubscription s = con.CreateSubscription(defaultDateTime, listener)) { s.AddSymbol(candleSymbol); IList <string> returnedSymbolList = s.GetSymbols(); Assert.AreEqual(1, returnedSymbolList.Count); Assert.AreEqual(candleSymbolString, returnedSymbolList[0]); } } }
/// <inheritdoc /> public IList <string> GetSymbols() { return(subscription?.GetSymbols()); }