@Test(expectedExceptions = NullPointerException.class) public void nullEntryDisallowedN() { Map.Entry<Integer, String>[] entries = genEntries(MAX_ENTRIES); entries[5] = null; @SuppressWarnings("unused") Map<Integer, String> map = Maps2.ofEntries(entries); }
@Test(expectedExceptions = IllegalArgumentException.class) public void dupKeysDisallowedN() { Map.Entry<Integer, String>[] entries = genEntries(MAX_ENTRIES); entries[MAX_ENTRIES - 1] = Maps2.entry(0, "xxx"); @SuppressWarnings("unused") Map<Integer, String> map = Maps2.ofEntries(entries); }
// compile-time test of wildcards @Test public void entryWildcardTests() { Map.Entry<Integer, Double> e1 = Maps2.entry(1, 2.0); Map.Entry<Float, Long> e2 = Maps2.entry(3.0f, 4L); @SuppressWarnings("unchecked") Map<Number, Number> map = Maps2.ofEntries(e1, e2); assertEquals(map.size(), 2); }
@SuppressWarnings({"unchecked", "rawtypes"}) @Test(expectedExceptions = NullPointerException.class) public void nullValueDisallowedN() { Map.Entry<Integer, String>[] entries = genEntries(MAX_ENTRIES); entries[0] = new AbstractMap.SimpleImmutableEntry(0, null); @SuppressWarnings("unused") Map<Integer, String> map = Maps2.ofEntries(entries); }
@DataProvider(name = "nonempty") public Iterator<Object[]> nonempty() { return Arrays.asList( a(Maps2.of(0, "a"), genMap(1)), a(Maps2.of(0, "a", 1, "b"), genMap(2)), a(Maps2.of(0, "a", 1, "b", 2, "c"), genMap(3)), a(Maps2.of(0, "a", 1, "b", 2, "c", 3, "d"), genMap(4)), a(Maps2.of(0, "a", 1, "b", 2, "c", 3, "d", 4, "e"), genMap(5)), a(Maps2.of(0, "a", 1, "b", 2, "c", 3, "d", 4, "e", 5, "f"), genMap(6)), a(Maps2.of(0, "a", 1, "b", 2, "c", 3, "d", 4, "e", 5, "f", 6, "g"), genMap(7)), a(Maps2.of(0, "a", 1, "b", 2, "c", 3, "d", 4, "e", 5, "f", 6, "g", 7, "h"), genMap(8)), a( Maps2.of(0, "a", 1, "b", 2, "c", 3, "d", 4, "e", 5, "f", 6, "g", 7, "h", 8, "i"), genMap(9)), a( Maps2.of( 0, "a", 1, "b", 2, "c", 3, "d", 4, "e", 5, "f", 6, "g", 7, "h", 8, "i", 9, "j"), genMap(10)), a(Maps2.ofEntries(genEntries(MAX_ENTRIES)), genMap(MAX_ENTRIES))) .iterator(); }
@Test(expectedExceptions = NullPointerException.class) public void nullArrayDisallowed() { Maps2.ofEntries((Map.Entry<Object, Object>[]) null); }