    @Test
    public void testObserve() throws Exception {

        when(gateway.observeString("testKey", NUMBER.ONE.name()))
                .thenReturn(Observable.just(NUMBER.TWO.name()));

        Observable<NUMBER> observable = adapter.observe("testKey", NUMBER.ONE, gateway);
        observable.subscribe(observer);

        verify(gateway).observeString("testKey", NUMBER.ONE.name());

        verify(observer).onNext(NUMBER.TWO);
        verify(observer).onComplete();
        verify(observer, never()).onError(any(Throwable.class));
    }