@Test public void testReadBytes_whenReturnsLessThanZeroWithInvalidLength_doesNotThrow() throws IOException { InputStream is = ContentLengthInputStream.obtain(wrapped, "invalid_length"); when(wrapped.read(any(byte[].class), anyInt(), anyInt())).thenReturn(-1); //noinspection ResultOfMethodCallIgnored is.read(new byte[10], 0, 0); }
SingleRequestBuilder() { when(requestCoordinator.canSetImage(any(Request.class))).thenReturn(true); when(requestCoordinator.canNotifyCleared(any(Request.class))).thenReturn(true); when(requestCoordinator.canNotifyStatusChanged(any(Request.class))).thenReturn(true); when(resource.get()).thenReturn(result); }
@Test public void testLoadBitmap_asDrawable() { Bitmap bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); requestManager .load(bitmap) .into(target); ArgumentCaptor<Object> captor = ArgumentCaptor.forClass(Object.class); verify(target).onResourceReady(captor.capture(), any(Transition.class)); BitmapDrawable drawable = (BitmapDrawable) captor.getValue(); assertThat(drawable.getBitmap()).isEqualTo(bitmap); }
@Test public void testMergeSingleWindow() { MergingWindowAssigner.MergeCallback callback = mock(MergingWindowAssigner.MergeCallback.class); SessionWindowTimeGapExtractor extractor = mock(SessionWindowTimeGapExtractor.class); when(extractor.extract(any())).thenReturn(5000L); DynamicEventTimeSessionWindows assigner = DynamicEventTimeSessionWindows.withDynamicGap(extractor); assigner.mergeWindows(Lists.newArrayList(new TimeWindow(0, 1)), callback); verify(callback, never()).merge(anyCollection(), Matchers.anyObject()); }
@Test public void testEquals() throws NoSuchAlgorithmException { doAnswer(new Util.WriteDigest("wrapped")).when(wrapped) .updateDiskCacheKey(any(MessageDigest.class)); @SuppressWarnings("unchecked") Transformation<Bitmap> other = mock(Transformation.class); doAnswer(new Util.WriteDigest("other")).when(other) .updateDiskCacheKey(any(MessageDigest.class)); keyTester .addEquivalenceGroup( transformation, new BitmapDrawableTransformation(wrapped)) .addEquivalenceGroup(new BitmapDrawableTransformation(other)) .addEquivalenceGroup(wrapped) .addRegressionTest( transformation, "adbf45b08ad6468aa147e5b2a23758ef56ab631a2b70ad52501ca358441a34f3") .test(); } }
@Override protected AbstractPartitionDiscoverer createPartitionDiscoverer( KafkaTopicsDescriptor topicsDescriptor, int indexOfThisSubtask, int numParallelSubtasks) { AbstractPartitionDiscoverer mockPartitionDiscoverer = mock(AbstractPartitionDiscoverer.class); try { when(mockPartitionDiscoverer.discoverPartitions()).thenReturn(partitions); } catch (Exception e) { // ignore } when(mockPartitionDiscoverer.setAndCheckDiscoveredPartition(any(KafkaTopicPartition.class))).thenReturn(true); return mockPartitionDiscoverer; }
@Test public void load_withNormalLoad_afterPreviousRetrieveFromCache_startsNewLoad() { EngineJob<?> first = harness.job; harness.onlyRetrieveFromCache = true; harness.doLoad(); EngineJob<?> second = mock(EngineJob.class); harness.job = second; harness.onlyRetrieveFromCache = false; harness.doLoad(); verify(first).start(any(DecodeJob.class)); verify(second).start(any(DecodeJob.class)); }
@Test public void testMergeSinglePointWindow() { MergingWindowAssigner.MergeCallback callback = mock(MergingWindowAssigner.MergeCallback.class); SessionWindowTimeGapExtractor extractor = mock(SessionWindowTimeGapExtractor.class); when(extractor.extract(any())).thenReturn(5000L); DynamicProcessingTimeSessionWindows assigner = DynamicProcessingTimeSessionWindows.withDynamicGap(extractor); assigner.mergeWindows(Lists.newArrayList(new TimeWindow(0, 0)), callback); verify(callback, never()).merge(anyCollection(), Matchers.anyObject()); }
@Test public void testLoadDrawable() { Drawable drawable = new ColorDrawable(Color.RED); requestManager .load(drawable) .into(target); ArgumentCaptor<Drawable> drawableCaptor = ArgumentCaptor.forClass(Drawable.class); verify(target).onResourceReady(drawableCaptor.capture(), any(Transition.class)); assertThat(((ColorDrawable) drawableCaptor.getValue()).getColor()).isEqualTo(Color.RED); }
@Test public void testEqualsHashCodeDigest() throws NoSuchAlgorithmException { @SuppressWarnings("unchecked") Transformation<Object> other = mock(Transformation.class); doAnswer(new Util.WriteDigest("other")).when(other) .updateDiskCacheKey(any(MessageDigest.class)); keyTester .addEquivalenceGroup( UnitTransformation.get(), UnitTransformation.get()) .addEquivalenceGroup(other) .addEmptyDigestRegressionTest(UnitTransformation.get()) .test(); } }
@Test public void testAvailable_withReadBytes_returnsContentLengthOffsetByNumberOfBytes() throws IOException { int contentLength = 678; InputStream is = ContentLengthInputStream.obtain(wrapped, String.valueOf(contentLength)); int read = 100; when(wrapped.read(any(byte[].class), anyInt(), anyInt())).thenReturn(read); assertThat(is.read(new byte[500], 0, 0)).isEqualTo(read); assertThat(is.available()).isEqualTo(contentLength - read); }
@Test public void load_withOnlyRetrieveFromCache_andPreviousNormalLoad_startsNewLoad() { EngineJob<?> first = harness.job; harness.doLoad(); EngineJob<?> second = mock(EngineJob.class); harness.job = second; harness.onlyRetrieveFromCache = true; harness.doLoad(); verify(first).start(any(DecodeJob.class)); verify(second).start(any(DecodeJob.class)); }
@Test public void testMergeSingleWindow() { MergingWindowAssigner.MergeCallback callback = mock(MergingWindowAssigner.MergeCallback.class); SessionWindowTimeGapExtractor extractor = mock(SessionWindowTimeGapExtractor.class); when(extractor.extract(any())).thenReturn(5000L); DynamicProcessingTimeSessionWindows assigner = DynamicProcessingTimeSessionWindows.withDynamicGap(extractor); assigner.mergeWindows(Lists.newArrayList(new TimeWindow(0, 1)), callback); verify(callback, never()).merge(anyCollection(), Matchers.anyObject()); }
@Test public void release_whenNotRecycleable_doesNotRecycleResource() { resource = mockResource(); engineResource = new EngineResource<>(resource, /*isCacheable=*/ true, /*isRecyclable=*/ false); engineResource.setResourceListener(cacheKey, listener); engineResource.recycle(); verify(listener, never()).onResourceReleased(any(Key.class), any(EngineResource.class)); verify(resource, never()).recycle(); } }
@Override public OperatorStateBackend createOperatorStateBackend(Environment env, String operatorIdentifier) throws Exception { OperatorStateBackend operatorStateBackend = mock(OperatorStateBackend.class); when(operatorStateBackend.snapshot(anyLong(), anyLong(), any(CheckpointStreamFactory.class), any(CheckpointOptions.class))) .thenReturn(new FutureTask<>(new BlockingCallable())); return operatorStateBackend; } }
@Test public void testMergeSinglePointWindow() { MergingWindowAssigner.MergeCallback callback = mock(MergingWindowAssigner.MergeCallback.class); SessionWindowTimeGapExtractor extractor = mock(SessionWindowTimeGapExtractor.class); when(extractor.extract(any())).thenReturn(5000L); DynamicEventTimeSessionWindows assigner = DynamicEventTimeSessionWindows.withDynamicGap(extractor); assigner.mergeWindows(Lists.newArrayList(new TimeWindow(0, 0)), callback); verify(callback, never()).merge(anyCollection(), Matchers.anyObject()); }
static <T, W extends Window> Trigger<T, W> mockTrigger() throws Exception { @SuppressWarnings("unchecked") Trigger<T, W> mockTrigger = mock(Trigger.class); when(mockTrigger.onElement(Matchers.<T>any(), anyLong(), Matchers.<W>any(), anyTriggerContext())).thenReturn(TriggerResult.CONTINUE); when(mockTrigger.onEventTime(anyLong(), Matchers.<W>any(), anyTriggerContext())).thenReturn(TriggerResult.CONTINUE); when(mockTrigger.onProcessingTime(anyLong(), Matchers.<W>any(), anyTriggerContext())).thenReturn(TriggerResult.CONTINUE); return mockTrigger; }