//------------------------------------------------------------------------- public virtual void ofMultimap() { ImmutableMultimap <string, int> input = ImmutableMultimap.of("one", 1, "two", 2, "one", 3); assertThat(MapStream.of(input)).containsExactlyInAnyOrder(entry("one", 1), entry("two", 2), entry("one", 3)); assertThat(MapStream.of(input).toMap(int?.sum)).containsOnly(entry("one", 4), entry("two", 2)); }
public virtual void test_of_multimap() { Multimap <string, string> keyValues = ImmutableMultimap.of("a", "x", "a", "y", "b", "z"); PropertySet test = PropertySet.of(keyValues); assertEquals(test.Empty, false); assertEquals(test.contains("a"), true); assertThrowsIllegalArg(() => test.value("a")); assertEquals(test.valueList("a"), ImmutableList.of("x", "y")); assertEquals(test.contains("b"), true); assertEquals(test.value("b"), "z"); assertEquals(test.valueList("b"), ImmutableList.of("z")); assertEquals(test.contains("c"), false); assertEquals(test.keys(), ImmutableSet.of("a", "b")); assertEquals(test.asMultimap(), ImmutableListMultimap.of("a", "x", "a", "y", "b", "z")); assertEquals(test.valueList("unknown"), ImmutableSet.of()); assertThrowsIllegalArg(() => test.asMap()); assertThrowsIllegalArg(() => test.value("unknown")); assertEquals(test.ToString(), "{a=[x, y], b=[z]}"); }