Exemplo n.º 1
0
            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());
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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());
        }