@Before public void setup() { mCallback = mock(SourceCallback.class); mSource = new BaseSourceSpy(mCallback); }
@Test public void connectedNoCallback() { mSource.setCallback(null); mSource.connected(); verify(mCallback, never()).sourceDisconnected(mSource); }
@Test public void disconnectsOnStop() { mSource.stop(); mSource.disconnected(); verify(mCallback, times(1)).sourceDisconnected(mSource); }
public void inject(VehicleMessage message) { handleMessage(message); }
@Test public void waitForCallback() throws InterruptedException { mSource.setCallback(null); Thread thread = new Thread() { @Override public void run() { mSource.waitForCallback(); } }; thread.start(); mSource.setCallback(mCallback); thread.join(100); // TODO need to assert something }
@Test public void waitForCallbackAlreadySet() throws InterruptedException { mSource.setCallback(mCallback); Thread thread = new Thread() { @Override public void run() { mSource.waitForCallback(); } }; thread.start(); thread.join(10); }
@Test public void receivedMessagesAreTimestampped() { mSource.inject(new VehicleMessage()); ArgumentCaptor<VehicleMessage> argument = ArgumentCaptor.forClass( VehicleMessage.class); verify(mCallback).receive(argument.capture()); assertTrue(argument.getValue().isTimestamped()); }
@Override public void run() { mSource.waitForCallback(); } };
@Test public void callbackDisconnected() { mSource.disconnected(); verify(mCallback).sourceDisconnected(mSource); }
@Test public void handleWithNoCallback() { mSource.setCallback(null); mSource.inject(new VehicleMessage()); verify(mCallback, never()).receive(Matchers.any(VehicleMessage.class)); }
@Test public void nullMessageNotSentToCallback() { mSource.inject(null); verify(mCallback, never()).receive(Matchers.any(VehicleMessage.class)); }
@Test public void callbackConnected() { mSource.connected(); verify(mCallback).sourceConnected(mSource); }
@Test public void receiveMessageSentToCallback() { mSource.inject(new VehicleMessage()); verify(mCallback).receive(Matchers.any(VehicleMessage.class)); }
@Test public void disconnectedNoCallback() { mSource.setCallback(null); mSource.disconnected(); verify(mCallback, never()).sourceDisconnected(mSource); }
@Override public void run() { mSource.waitForCallback(); } };