@Test public void testFirstOrDefault() { Single<Integer> o = Observable.just(1, 2, 3) .first(4); o.subscribe(wo); InOrder inOrder = inOrder(wo); inOrder.verify(wo, times(1)).onSuccess(1); inOrder.verifyNoMoreInteractions(); }
public void testAddDelayedShutdownHook_success() throws InterruptedException { TestApplication application = new TestApplication(); ExecutorService service = mock(ExecutorService.class); application.addDelayedShutdownHook(service, 2, TimeUnit.SECONDS); verify(service, Mockito.never()).shutdown(); application.shutdown(); InOrder shutdownFirst = Mockito.inOrder(service); shutdownFirst.verify(service).shutdown(); shutdownFirst.verify(service).awaitTermination(2, TimeUnit.SECONDS); }
@Test public void stop_calls_shutdown_then_shutdownNow_if_not_terminated_and_check_termination_again() throws InterruptedException { when(executorService.awaitTermination(TIMEOUT, TIMEOUT_UNIT)).thenReturn(false).thenReturn(true); underTest.stop(); inOrder.verify(executorService).shutdown(); inOrder.verify(executorService).awaitTermination(TIMEOUT, TIMEOUT_UNIT); inOrder.verify(executorService).shutdownNow(); inOrder.verify(executorService).awaitTermination(TIMEOUT, TIMEOUT_UNIT); inOrder.verifyNoMoreInteractions(); }
private void performTestUsing(boolean disposeEagerly) { final Resource resource = mock(Resource.class); when(resource.getTextFromWeb()).thenReturn("Hello world!"); Callable<Resource> resourceFactory = new Callable<Resource>() { @Override public Resource call() { return resource; } }; Function<Resource, Observable<String>> observableFactory = new Function<Resource, Observable<String>>() { @Override public Observable<String> apply(Resource res) { return Observable.fromArray(res.getTextFromWeb().split(" ")); } }; Observer<String> observer = TestHelper.mockObserver(); Observable<String> o = Observable.using(resourceFactory, observableFactory, new DisposeAction(), disposeEagerly); o.subscribe(observer); InOrder inOrder = inOrder(observer); inOrder.verify(observer, times(1)).onNext("Hello"); inOrder.verify(observer, times(1)).onNext("world!"); inOrder.verify(observer, times(1)).onComplete(); inOrder.verifyNoMoreInteractions(); // The resouce should be closed verify(resource, times(1)).dispose(); }
@Test public void testLastOrDefaultWithOneElement() { Single<Integer> o = Observable.just(1).last(2); SingleObserver<Integer> observer = TestHelper.mockSingleObserver(); o.subscribe(observer); InOrder inOrder = inOrder(observer); inOrder.verify(observer, times(1)).onSuccess(1); // inOrder.verify(observer, times(1)).onComplete(); inOrder.verifyNoMoreInteractions(); }
@Test public void testSetsDataOnParserBeforeParsingHeader() { ByteBuffer data = ByteBuffer.allocate(1); when(gifDrawable.getBuffer()).thenReturn(data); GifHeader header = mock(GifHeader.class); when(parser.parseHeader()).thenReturn(header); encoder.encode(resource, file, options); InOrder order = inOrder(parser, decoder); order.verify(parser).setData(eq(data)); order.verify(parser).parseHeader(); order.verify(decoder).setData(header, data); }
private void performTestUsing(boolean disposeEagerly) { final Resource resource = mock(Resource.class); when(resource.getTextFromWeb()).thenReturn("Hello world!"); Callable<Resource> resourceFactory = new Callable<Resource>() { @Override public Resource call() { return resource; } }; Function<Resource, Flowable<String>> observableFactory = new Function<Resource, Flowable<String>>() { @Override public Flowable<String> apply(Resource res) { return Flowable.fromArray(res.getTextFromWeb().split(" ")); } }; Subscriber<String> subscriber = TestHelper.mockSubscriber(); Flowable<String> flowable = Flowable.using(resourceFactory, observableFactory, new DisposeAction(), disposeEagerly); flowable.subscribe(subscriber); InOrder inOrder = inOrder(subscriber); inOrder.verify(subscriber, times(1)).onNext("Hello"); inOrder.verify(subscriber, times(1)).onNext("world!"); inOrder.verify(subscriber, times(1)).onComplete(); inOrder.verifyNoMoreInteractions(); // The resouce should be closed verify(resource, times(1)).dispose(); }
public void testSequential() { @SuppressWarnings("unchecked") Funnel<Object> elementFunnel = mock(Funnel.class); PrimitiveSink primitiveSink = mock(PrimitiveSink.class); Funnel<Iterable<?>> sequential = Funnels.sequentialFunnel(elementFunnel); sequential.funnel(Arrays.asList("foo", "bar", "baz", "quux"), primitiveSink); InOrder inOrder = inOrder(elementFunnel); inOrder.verify(elementFunnel).funnel("foo", primitiveSink); inOrder.verify(elementFunnel).funnel("bar", primitiveSink); inOrder.verify(elementFunnel).funnel("baz", primitiveSink); inOrder.verify(elementFunnel).funnel("quux", primitiveSink); }
@Test public void testSingleOrDefault() { Single<Integer> o = Observable.just(1).single(2); SingleObserver<Integer> observer = TestHelper.mockSingleObserver(); o.subscribe(observer); InOrder inOrder = inOrder(observer); inOrder.verify(observer, times(1)).onSuccess(1); inOrder.verifyNoMoreInteractions(); }
@Test public void stop_calls_shutdown_and_verify_termination() throws InterruptedException { when(executorService.awaitTermination(TIMEOUT, TIMEOUT_UNIT)).thenReturn(true); underTest.stop(); inOrder.verify(executorService).shutdown(); inOrder.verify(executorService).awaitTermination(TIMEOUT, TIMEOUT_UNIT); inOrder.verifyNoMoreInteractions(); }
@Test public void testFirstOrDefaultWithEmpty() { Single<Integer> single = Flowable.<Integer> empty() .first(1); single.subscribe(wo); InOrder inOrder = inOrder(wo); inOrder.verify(wo, times(1)).onSuccess(1); inOrder.verifyNoMoreInteractions(); }
@Test public void testAdvancesDecoderBeforeAttemptingToGetFirstFrame() { when(gifEncoder.start(any(OutputStream.class))).thenReturn(true); when(decoder.getFrameCount()).thenReturn(1); when(decoder.getNextFrame()).thenReturn(Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888)); encoder.encode(resource, file, options); InOrder order = inOrder(decoder); order.verify(decoder).advance(); order.verify(decoder).getNextFrame(); }
@Test public void testFirstOrDefault() { Single<Integer> single = Flowable.just(1, 2, 3) .first(4); single.subscribe(wo); InOrder inOrder = inOrder(wo); inOrder.verify(wo, times(1)).onSuccess(1); inOrder.verifyNoMoreInteractions(); }
@Test public void testRecyclesFrameResourceBeforeWritingIfTransformedResourceIsDifferent() { when(decoder.getFrameCount()).thenReturn(1); when(frameTransformation.transform(anyContext(), eq(frameResource), anyInt(), anyInt())) .thenReturn(transformedResource); Bitmap expected = Bitmap.createBitmap(200, 200, Bitmap.Config.ARGB_8888); when(transformedResource.get()).thenReturn(expected); when(gifEncoder.start(any(OutputStream.class))).thenReturn(true); encoder.encode(resource, file, options); InOrder order = inOrder(frameResource, gifEncoder); order.verify(frameResource).recycle(); order.verify(gifEncoder).addFrame(eq(expected)); }
@Test public void testSingleObservable() { Observable<Integer> o = Observable.just(1).singleElement().toObservable(); Observer<Integer> observer = TestHelper.mockObserver(); o.subscribe(observer); InOrder inOrder = inOrder(observer); inOrder.verify(observer, times(1)).onNext(1); inOrder.verify(observer, times(1)).onComplete(); inOrder.verifyNoMoreInteractions(); }
@Test public void testRecyclesTransformedResourceAfterWritingIfTransformedResourceIsDifferent() { when(decoder.getFrameCount()).thenReturn(1); Bitmap expected = Bitmap.createBitmap(100, 200, Bitmap.Config.RGB_565); when(transformedResource.get()).thenReturn(expected); when(frameTransformation.transform(anyContext(), eq(frameResource), anyInt(), anyInt())) .thenReturn(transformedResource); when(gifEncoder.start(any(OutputStream.class))).thenReturn(true); encoder.encode(resource, file, options); InOrder order = inOrder(transformedResource, gifEncoder); order.verify(gifEncoder).addFrame(eq(expected)); order.verify(transformedResource).recycle(); }
@Test public void testFirstWithOneElementObservable() { Observable<Integer> o = Observable.just(1).firstElement().toObservable(); Observer<Integer> observer = TestHelper.mockObserver(); o.subscribe(observer); InOrder inOrder = inOrder(observer); inOrder.verify(observer, times(1)).onNext(1); inOrder.verify(observer, times(1)).onComplete(); inOrder.verifyNoMoreInteractions(); }
@Test public void testRecyclesFrameResourceAfterWritingIfFrameResourceIsNotTransformed() { when(decoder.getFrameCount()).thenReturn(1); when(frameTransformation.transform(anyContext(), eq(frameResource), anyInt(), anyInt())) .thenReturn(frameResource); Bitmap expected = Bitmap.createBitmap(200, 100, Bitmap.Config.ARGB_8888); when(frameResource.get()).thenReturn(expected); when(gifEncoder.start(any(OutputStream.class))).thenReturn(true); encoder.encode(resource, file, options); InOrder order = inOrder(frameResource, gifEncoder); order.verify(gifEncoder).addFrame(eq(expected)); order.verify(frameResource).recycle(); }
@Test public void testSingleOrDefaultObservable() { Observable<Integer> o = Observable.just(1).single(2).toObservable(); Observer<Integer> observer = TestHelper.mockObserver(); o.subscribe(observer); InOrder inOrder = inOrder(observer); inOrder.verify(observer, times(1)).onNext(1); inOrder.verify(observer, times(1)).onComplete(); inOrder.verifyNoMoreInteractions(); }
@Test public void testSetsDelayOnEncoderAfterAddingFrame() { when(gifEncoder.start(any(OutputStream.class))).thenReturn(true); when(gifEncoder.addFrame(any(Bitmap.class))).thenReturn(true); when(decoder.getFrameCount()).thenReturn(1); when(decoder.getNextFrame()).thenReturn(Bitmap.createBitmap(100, 100, Bitmap.Config.RGB_565)); int expectedIndex = 34; when(decoder.getCurrentFrameIndex()).thenReturn(expectedIndex); int expectedDelay = 5000; when(decoder.getDelay(eq(expectedIndex))).thenReturn(expectedDelay); encoder.encode(resource, file, options); InOrder order = inOrder(gifEncoder, decoder); order.verify(decoder).advance(); order.verify(gifEncoder).addFrame(any(Bitmap.class)); order.verify(gifEncoder).setDelay(eq(expectedDelay)); order.verify(decoder).advance(); }