public void testMapSplitter_varyingTrimLevels() { MapSplitter splitter = COMMA_SPLITTER.trimResults().withKeyValueSeparator(Splitter.on("->")); Map<String, String> split = splitter.split(" x -> y, z-> a "); assertThat(split).containsEntry("x ", " y"); assertThat(split).containsEntry("z", " a"); } }
@Test public void zeroBindingsBindDoesNotThrowExceptionAndCaches() { class Example { } Example example = new Example(); View view = new View(context); assertThat(ButterKnife.BINDINGS).isEmpty(); assertThat(ButterKnife.bind(example, view)).isSameAs(Unbinder.EMPTY); assertThat(ButterKnife.BINDINGS).containsEntry(Example.class, null); }
public void testEntrySetValueAfterRemoved() { CompactHashMap<Integer, String> map = CompactHashMap.create(); map.put(1, "1"); Entry<Integer, String> entry = getOnlyElement(map.entrySet()); map.remove(1); entry.setValue("one"); assertThat(map).containsEntry(1, "one"); } }
@Test public void testCanAddMultipleKeys() { LazyHeaderFactory factory = mock(LazyHeaderFactory.class); when(factory.buildHeader()).thenReturn("lazy"); Map<String, String> headers = new Builder() .addHeader("first", factory) .addHeader("second", "eager") .build() .getHeaders(); assertThat(headers).containsEntry("first", "lazy"); assertThat(headers).containsEntry("second", "eager"); }
@Test public void testJobIsPutInJobWithCacheKeyWithRelevantIds() { harness.doLoad(); assertThat(harness.jobs.getAll()).containsEntry(harness.cacheKey, harness.job); }
@Test public void testIncludesLazyHeaders() { LazyHeaderFactory factory = mock(LazyHeaderFactory.class); when(factory.buildHeader()).thenReturn("value"); Map<String, String> headers = new Builder() .addHeader("key", factory) .build() .getHeaders(); assertThat(headers).containsEntry("key", "value"); }
@Test public void testMultipleLazyValuesAreSeparatedByCommas() { LazyHeaderFactory first = mock(LazyHeaderFactory.class); when(first.buildHeader()).thenReturn("first"); LazyHeaderFactory second = mock(LazyHeaderFactory.class); when(second.buildHeader()).thenReturn("second"); Map<String, String> headers = new Builder() .addHeader("key", first) .addHeader("key", second) .build() .getHeaders(); assertThat(headers).containsEntry("key", "first,second"); }
@Test public void testAddingUserAgentHeaderReplacesDefaultThenAppends() { Builder builder = new Builder(); builder.addHeader("User-Agent", "false"); LazyHeaders headers = builder.build(); assertThat(headers.getHeaders()).containsEntry("User-Agent", "false"); builder.addHeader("User-Agent", "true"); headers = builder.build(); assertThat(headers.getHeaders()).containsEntry("User-Agent", "false,true"); }
@Test public void testAddingEncodingHeaderReplacesDefaultThenAppends() { Builder builder = new Builder(); builder.addHeader("Accept-Encoding", "false"); LazyHeaders headers = builder.build(); assertThat(headers.getHeaders()).containsEntry("Accept-Encoding", "false"); builder.addHeader("Accept-Encoding", "true"); headers = builder.build(); assertThat(headers.getHeaders()).containsEntry("Accept-Encoding", "false,true"); }
@Test public void testIncludesEagerHeaders() { Map<String, String> headers = new Builder() .addHeader("key", "value") .build() .getHeaders(); assertThat(headers).containsEntry("key", "value"); }
@Test public void testApplyingTransformation_overridesDontTransform() { options.dontTransform(); options.transform(transformation); assertThat(options.isTransformationAllowed()).isTrue(); assertThat(options.isTransformationRequired()).isTrue(); assertThat(options.getTransformations()).containsEntry(Bitmap.class, transformation); }
@Test public void testRemovingAndAddingEncodingHeaderReplacesDefaultThenAppends() { Builder builder = new Builder(); builder.setHeader("Accept-Encoding", (String) null); LazyHeaders headers = builder.build(); assertThat(headers.getHeaders()).doesNotContainKey("Accept-Encoding"); builder.addHeader("Accept-Encoding", "false"); headers = builder.build(); assertThat(headers.getHeaders()).containsEntry("Accept-Encoding", "false"); builder.addHeader("Accept-Encoding", "true"); headers = builder.build(); assertThat(headers.getHeaders()).containsEntry("Accept-Encoding", "false,true"); }
@Test public void testRemovingAndAddingUserAgentHeaderReplacesDefaultThenAppends() { Builder builder = new Builder(); builder.setHeader("User-Agent", (String) null); LazyHeaders headers = builder.build(); assertThat(headers.getHeaders()).doesNotContainKey("User-Agent"); builder.addHeader("User-Agent", "false"); headers = builder.build(); assertThat(headers.getHeaders()).containsEntry("User-Agent", "false"); builder.addHeader("User-Agent", "true"); headers = builder.build(); assertThat(headers.getHeaders()).containsEntry("User-Agent", "false,true"); }
@Test public void testApplyingDefaultOptions_withTransform_retrainsTransform() { options.transform(transformation); options.apply(new RequestOptions()); assertThat(options.isTransformationAllowed()).isTrue(); assertThat(options.isTransformationRequired()).isTrue(); assertThat(options.getTransformations()).containsEntry(Bitmap.class, transformation); }
@Test public void testMultipleEagerValuesAreSeparatedByCommas() { Map<String, String> headers = new Builder() .addHeader("key", "first") .addHeader("key", "second") .build() .getHeaders(); assertThat(headers).containsEntry("key", "first,second"); }
@Test public void testApplyingOptions_withTransformation_overridesDontTransform() { options.dontTransform(); RequestOptions other = new RequestOptions(); other.transform(transformation); options.apply(other); assertThat(options.isTransformationAllowed()).isTrue(); assertThat(options.isTransformationSet()).isTrue(); assertThat(options.isTransformationRequired()).isTrue(); assertThat(options.getTransformations()).containsEntry(Bitmap.class, transformation); }
@Test public void testSetHeaderReplacesExistingHeaders() { Builder builder = new Builder(); builder.addHeader("key", "first") .addHeader("key", "second") .setHeader("key", "third"); LazyHeaders headers = builder.build(); assertThat(headers.getHeaders()).containsEntry("key", "third"); }
@Test public void exifRotationWithManualRotation() { Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Request data = new Request.Builder(URI_1).rotate(-45).build(); Bitmap result = transformResult(data, source, ORIENTATION_ROTATE_90); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("rotate 90.0"); assertThat(shadowMatrix.getSetOperations()).containsEntry("rotate", "-45.0"); }
@Test public void rotation() { Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Request data = new Request.Builder(URI_1).rotate(-45).build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getSetOperations()).containsEntry("rotate", "-45.0"); }
@Test public void pivotRotation() { Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Request data = new Request.Builder(URI_1).rotate(-45, 10, 10).build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getSetOperations()).containsEntry("rotate", "-45.0 10.0 10.0"); }