Beispiel #1
0
        public void ShouldPutEntriesFromMultiDictionary(MultiDictionaryContext context)
        {
            // given
            var multiDictionary = context.Create <int, string>();

            multiDictionary.PutAll(1, context.CollectionOf("E", "F"));
            multiDictionary.Put(3, "R");
            var anotherMultiDictionary = new ArrayListMultiDictionary <int, string>();

            anotherMultiDictionary.PutAll(1, Lists.AsList("A", "B", "C"));
            anotherMultiDictionary.PutAll(2, Lists.AsList("X", "Y", "Z"));
            anotherMultiDictionary.PutAll(3, Lists.AsList("Q", "W", "E"));

            // when
            multiDictionary.PutAll(anotherMultiDictionary);

            // then
            Check.That(multiDictionary.Count).IsEqualTo(12);
            Check.That(multiDictionary.Values).HasSize(12);
            Check.That(multiDictionary.Values).Contains(
                "A", "B", "C", "E", "F", "Q", "W", "E", "R", "X", "Y", "Z");
            Check.That(multiDictionary[1]).HasSize(5).And.Contains("A", "B", "C", "E", "F");
            Check.That(multiDictionary[2]).HasSize(3).And.Contains("X", "Y", "Z");
            Check.That(multiDictionary[3]).HasSize(4).And.Contains("Q", "W", "E", "R");
        }
Beispiel #2
0
        public void ShouldConvertMultiDictionaryToDictionary(MultiDictionaryContext context)
        {
            // given
            var multiDictionary = context.Create <string, string>();

            multiDictionary.PutAll("A", Lists.AsList("A1", "A2", "A3"));
            multiDictionary.Put("B", "B1");
            multiDictionary.Put("C", "C1");

            // when
            var dictionary = multiDictionary.ToDictionary();

            // then
            Check.That(Objects.Equal(dictionary, Dictionaries.Create(
                                         "A", context.CollectionOf("A1", "A2", "A3"),
                                         "B", context.CollectionOf("B1"),
                                         "C", context.CollectionOf("C1"))))
            .IsTrue();
        }
Beispiel #3
0
        public void ShouldReturnMultiEntries(MultiDictionaryContext context)
        {
            // given
            var multiDictionary = context.Create <int, string>();

            multiDictionary.Put(1, "A");
            multiDictionary.Put(1, "B");
            multiDictionary.Put(1, "C");
            multiDictionary.Put(2, "A");
            multiDictionary.PutAll(3, Lists.AsList("X", "Y", "Z"));

            // when
            var entries = multiDictionary.MultiEntries;

            // then
            Check.That(entries).HasSize(3);
            var entry1 = entries.First(entry => entry.Key == 1);
            var entry2 = entries.First(entry => entry.Key == 2);
            var entry3 = entries.First(entry => entry.Key == 3);

            Check.That(entry1.Value).IsEqualTo(context.CollectionOf("A", "B", "C"));
            Check.That(entry2.Value).IsEqualTo(context.CollectionOf("A"));
            Check.That(entry3.Value).IsEqualTo(context.CollectionOf("X", "Y", "Z"));
        }
Beispiel #4
0
        public void ShouldRemoveDictionaryKey(MultiDictionaryContext context)
        {
            // given
            var multiDictionary = context.Create <string, int>();

            multiDictionary.PutAll("A", context.CollectionOf(1, 2));
            multiDictionary.Put("B", 1);

            // when
            var removedA = multiDictionary.Remove("A");
            var removedC = multiDictionary.Remove("C");

            // then
            Check.That(removedA).IsTrue();
            Check.That(removedC).IsFalse();

            Check.That(multiDictionary.Count).IsEqualTo(1);
            Check.That(multiDictionary.Values).HasSize(1);
            Check.That(multiDictionary.Values).Contains(1);
            Check.That(multiDictionary.Keys).HasSize(1);
            Check.That(multiDictionary.Keys).Contains("B");
        }