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"); }
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(); }
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")); }
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"); }