public ImmutableMultiDictionary <TKey, TValue> Create <TKey, TValue>(params KeyValuePair <TKey, TValue>[] entries) { var builder = ImmutableSetMultiDictionary <TKey, TValue> .Builder(); builder.PutAll(entries); return(builder.Build()); }
/// <summary> /// Converts dictionary to ImmutableSetMultiDictionary. /// </summary> /// <typeparam name="TKey">Type of dictionary key</typeparam> /// <typeparam name="TValue">Type of dictionary value</typeparam> /// <param name="source">this</param> /// <returns>ImmutableSetMultiDictionary</returns> public static ImmutableSetMultiDictionary <TKey, TValue> ToImmutableSetMultiDictionary <TKey, TValue>( this IReadOnlyDictionary <TKey, TValue> source) { Preconditions.IsNotNull(source, () => new ArgumentNullException("source")); var builder = ImmutableSetMultiDictionary <TKey, TValue> .Builder(); builder.PutAll(source); return(builder.Build()); }
public void ShouldReturnSameReferenceWhenConvertingImmutableSetMutliDictionaryToImmutalbe() { // given var multiDictionary = ImmutableSetMultiDictionary <int, string> .Of(1, "A", 2, "B"); // when var converted = multiDictionary.ToImmutableMultiDictionary(); // then Check.That(converted).IsSameReferenceThan(multiDictionary); }
public void ShouldExntedReadOnlyDictionaryByToImmutableSetMultiDictionaryMethod() { // given var dictionary = Dictionaries.CreateImmutable("A", "A1", "B", "B1", "C", "C1"); // when var multiDictionary = dictionary.ToImmutableSetMultiDictionary(); // then Check.That(multiDictionary) .IsEqualTo(ImmutableSetMultiDictionary <string, string> .Of("A", "A1", "B", "B1", "C", "C1")); }
/// <summary> /// Converts MultiDictionary to ImmutableSetMultiDictionary. /// If MultiDictionary is already ImmutableSetMultiDictionary returns it. /// </summary> /// <typeparam name="TKey">Type of dictionary key</typeparam> /// <typeparam name="TValue">Type of dictionary value</typeparam> /// <param name="source">Converted MultiDictionary</param> /// <returns>ImmutableSetMultiDictionary</returns> public static ImmutableSetMultiDictionary <TKey, TValue> ToImmutableSetMultiDictionary <TKey, TValue>( this MultiDictionary <TKey, TValue> source) { Preconditions.IsNotNull(source, () => new ArgumentNullException("source")); if (source is ImmutableSetMultiDictionary <TKey, TValue> ) { return((ImmutableSetMultiDictionary <TKey, TValue>)source); } var result = ImmutableSetMultiDictionary <TKey, TValue> .Builder(); result.PutAll(source); return(result.Build()); }