BitmexLevel1QuoteEngine extends QuoteEngine implements IQuoteListener, ITradeListener { @Override public void subscribeLevel1(Ticker ticker, Level1QuoteListener listener) { super.subscribeLevel1(ticker, listener); tickerMap.put(ticker.getSymbol(), ticker); websocketClient.subscribeQuotes(ticker, this); websocketClient.subscribeTrades(ticker, this); }  @Override void startEngine(); @Override void startEngine(Properties props); @Override void stopEngine(); @Override Date getServerTime(); @Override boolean started(); @Override boolean isConnected(); @Override void useDelayedData(boolean useDelayed); @Override void subscribeLevel1(Ticker ticker, Level1QuoteListener listener); @Override void quoteUpdated(BitmexQuote quoteData); @Override void tradeUpdated(BitmexTrade trade); int getMessageProcessorQueueSize();  }
@Test public void testSubscribeLevel1() { testQuoteEngine.websocketClient = mockClient; Ticker ticker = new GenericTicker("ABC"); testQuoteEngine.subscribeLevel1(ticker, (ILevel1Quote quote) -> { }); assertEquals(ticker, testQuoteEngine.tickerMap.get("ABC")); verify(mockClient, times(1)).subscribeQuotes(ticker, testQuoteEngine); }