### Question:
ChannelAdaptor extends QBeanSupport implements ChannelAdaptorMBean, Channel, Loggeable, ExceptionHandlerConfigAware { public void send (ISOMsg m) { sp.out (in, m); } ChannelAdaptor(); void initService(); void startService(); void stopService(); void destroyService(); synchronized void setReconnectDelay(long delay); long getReconnectDelay(); synchronized void setInQueue(String in); String getInQueue(); synchronized void setOutQueue(String out); void send(ISOMsg m); void send(ISOMsg m, long timeout); ISOMsg receive(); ISOMsg receive(long timeout); boolean isConnected(); String getOutQueue(); ISOChannel newChannel(Element e, QFactory f); synchronized void setHost(String host); String getHost(); synchronized void setPort(int port); int getPort(); synchronized void setSocketFactory(String sFac); void resetCounters(); String getCountersAsString(); int getTXCounter(); int getRXCounter(); int getConnectsCounter(); long getLastTxnTimestampInMillis(); long getIdleTimeInMillis(); String getSocketFactory(); void dump(PrintStream p, String indent);  }### Answer:
@Test public void sendPassesMessageToUnderlyingChannel() throws Exception { StubISOChannel stubISOChannel = new StubISOChannel(); channelAdaptor = configureAndStart(new ChannelAdaptorWithoutQ2(stubISOChannel)); channelAdaptor.send(new ISOMsg("0800")); assertThat(stubISOChannel.sendQueue.poll(1, TimeUnit.SECONDS), hasMti("0800")); }
@Disabled("Failing and don't really know what this test tries to verify") @Test public void waitForWorkersOnStopDoesNotDeadlockWithUnfortunatelyTimedDisconnectReceivedBySender() throws Exception { StubISOChannel channel = new StubISOChannelThatThrowsExceptionOnSend(); LogListener logListener = mock(LogListener.class); Space space = spy(new TSpace()); ThreadTrap trap = new ThreadTrap(SENDER_THREAD_NAME).delegateAfterReleaseCall(); trap.catchVictim().when(logListener).log(argThat(sendErrorLogEvent())); trap.release().when(space).out(eq(IN_SPACE_KEY), not(isA(ISOMsg.class))); channelAdaptor = configureAndStart(new ChannelAdaptorWithStubSpace(channel, space), new SimpleLogListener(), logListener); waitForSenderAndReceiverToStart(); channelAdaptor.send(new ISOMsg("0800")); assertThat("Sender did not call log()", trap.catchesVictim(), is(true)); assertCallToStopCompletes(1); }