//------------------------------------------------------------------------- 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)); }
private static Multimap <LocalDate, Curve> buildCurves(IDictionary <CurveName, LoadedCurveSettings> settingsMap, IDictionary <LoadedCurveKey, IList <LoadedCurveNode> > allNodes) { ImmutableMultimap.Builder <LocalDate, Curve> results = ImmutableMultimap.builder(); foreach (KeyValuePair <LoadedCurveKey, IList <LoadedCurveNode> > entry in allNodes.SetOfKeyValuePairs()) { LoadedCurveKey key = entry.Key; LoadedCurveSettings settings = settingsMap[key.CurveName]; if (settings == null) { throw new System.ArgumentException(Messages.format("Missing settings for curve: {}", key)); } results.put(key.CurveDate, settings.createCurve(key.CurveDate, entry.Value)); } return(results.build()); }
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]}"); }