@Test
public void Should_callCallbackImmediately_When_thereAlreadyAreElementsInQueue()
        throws Exception {

    Queue underlying = mock(Queue.class);
    Runnable callback = mock(Runnable.class);
    when(underlying.isEmpty()).thenReturn(false);
    IQueue queue = new NonBlockingQueue(underlying);
    queue.addNewItemCallback(callback);
    verify(callback).run();
}