Ejemplo n.º 1
0
        public void TryGetValueShouldThrowErrorIfKeyIsNull()
        {
            var dictionary = new ManualDictionary <string, string>();

            dictionary.Add("1", "a");
            dictionary.Add("2", "b");

            Assert.Throws <ArgumentNullException>(() => dictionary.TryGetValue(null, out string value));
        }
Ejemplo n.º 2
0
        public void IfKeyIsNullContainsKeyShouldThrowAmError()
        {
            var dictionary = new ManualDictionary <string, string>();

            dictionary.Add("1", "a");
            dictionary.Add("2", "b");

            Assert.Throws <ArgumentNullException>(() => dictionary.ContainsKey(null));
        }
Ejemplo n.º 3
0
        public void TryingToAddTheSameKeyShouldTrowAnError()
        {
            var dictionary = new ManualDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(10, "c");
            Assert.Throws <ArgumentException>(() => dictionary.Add(2, "b"));
        }
Ejemplo n.º 4
0
        public void TryingToAddTheSameValueWithDiferentKeyShouldBeOk()
        {
            var dictionary = new ManualDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(10, "c");
            dictionary.Add(11, "c");
            dictionary.Add(12, "c");
        }
Ejemplo n.º 5
0
        public void TryingtoCopyDictionaryToAnEmptyArrayShouldThrowAnError()
        {
            var dictionary = new ManualDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(10, "c");
            dictionary.Add(11, "c");

            Assert.Throws <ArgumentNullException>(() => dictionary.CopyTo(null, 1));
        }
Ejemplo n.º 6
0
        public void TryGetValueShouldReturnFalseIfKeyIsNotInDictionary()
        {
            var dictionary = new ManualDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(10, "c");
            dictionary.Add(11, "c");
            dictionary.Add(12, "c");
            Assert.False(dictionary.TryGetValue(3, out string value));
        }
Ejemplo n.º 7
0
        public void ContainsKeyShouldReturnTrueIfKeyIsInDictionary()
        {
            var dictionary = new ManualDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(10, "c");
            dictionary.Add(11, "c");
            dictionary.Add(12, "c");
            Assert.True(dictionary.ContainsKey(2));
        }
Ejemplo n.º 8
0
        public void TestClear()
        {
            var dictionary = new ManualDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(10, "c");
            dictionary.Add(11, "c");
            dictionary.Add(12, "c");
            dictionary.Clear();
            Assert.Empty(dictionary);
        }
Ejemplo n.º 9
0
        public void RemoveKeyShouldReturnTrueIfKeyIsDeletedFromDictionary()
        {
            var dictionary = new ManualDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(10, "c");
            dictionary.Add(11, "c");
            dictionary.Add(12, "c");
            Assert.True(dictionary.ContainsKey(2));
            Assert.True(dictionary.Remove(2));
            Assert.False(dictionary.ContainsKey(2));
        }
Ejemplo n.º 10
0
        public void TryingtoCopyToArrayWhenCountOfDictionaryIsGreaterThanTheAvailableSpaceFromIndexToArrayLengthShouldThrowAnError()
        {
            var dictionary = new ManualDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(10, "c");
            dictionary.Add(11, "c");

            KeyValuePair <int, string>[] array = new KeyValuePair <int, string> [dictionary.Count];

            Assert.Throws <ArgumentException>(() => dictionary.CopyTo(array, 1));
        }
Ejemplo n.º 11
0
        public void ContainsKeyValuePairShouldReturnFalseIfKeyIsInDictionaryButValueIsDifferent()
        {
            var dictionary = new ManualDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(10, "c");
            dictionary.Add(11, "c");
            dictionary.Add(12, "c");
            dictionary.Clear();
            Assert.False(dictionary.Contains(new KeyValuePair <int, string>(2, "d")));
            Assert.False(dictionary.Contains(new KeyValuePair <int, string>(1, "f")));
        }
Ejemplo n.º 12
0
        public void CopyToArrayWithAvailableSpace()
        {
            var dictionary = new ManualDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(10, "c");
            dictionary.Add(11, "c");
            dictionary.Add(12, "b");

            KeyValuePair <int, string>[] array = new KeyValuePair <int, string> [dictionary.Count];
            dictionary.CopyTo(array, 0);

            Assert.Equal(new KeyValuePair <int, string>(11, "c"), array[1]);
            Assert.Equal(new KeyValuePair <int, string>(2, "b"), array[4]);
        }
Ejemplo n.º 13
0
        public void AddNewElementsInDictionaryAndTestKeysProperty()
        {
            var dictionary = new ManualDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(10, "c");

            var enumerator = dictionary.GetEnumerator();

            Assert.True(enumerator.MoveNext());
            Assert.Equal(10, enumerator.Current.Key);
            Assert.Equal("c", enumerator.Current.Value);
            Assert.True(enumerator.MoveNext());
            Assert.Equal(1, enumerator.Current.Key);
            Assert.Equal("a", enumerator.Current.Value);
            Assert.True(enumerator.MoveNext());
            Assert.Equal(2, enumerator.Current.Key);
            Assert.Equal("b", enumerator.Current.Value);
            Assert.False(enumerator.MoveNext());
            Assert.Equal(new[] { 10, 1, 2 }, dictionary.Keys);
        }
Ejemplo n.º 14
0
        public void SetNewElementsInDictionary()
        {
            var dictionary = new ManualDictionary <int, string>();

            dictionary[1] = "a";
            dictionary.Add(2, "b");
            dictionary.Add(10, "c");

            var enumerator = dictionary.GetEnumerator();

            Assert.True(enumerator.MoveNext());
            Assert.Equal(new KeyValuePair <int, string>(10, "c"), enumerator.Current);
            Assert.Equal(10, enumerator.Current.Key);
            Assert.Equal("c", enumerator.Current.Value);
            Assert.True(enumerator.MoveNext());
            Assert.Equal(1, enumerator.Current.Key);
            Assert.Equal("a", enumerator.Current.Value);
            Assert.True(enumerator.MoveNext());
            Assert.Equal(2, enumerator.Current.Key);
            Assert.Equal("b", enumerator.Current.Value);
            Assert.False(enumerator.MoveNext());
        }
Ejemplo n.º 15
0
        public void TestAddingElementAfterRemoveKeyValuePairAtFreeIndex()
        {
            var dictionary = new ManualDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(10, "c");
            dictionary.Add(11, "c");
            dictionary.Add(12, "c");
            Assert.True(dictionary.ContainsKey(10));
            Assert.True(dictionary.Remove(10));
            Assert.False(dictionary.Remove(13));
            Assert.False(dictionary.Remove(33));
            dictionary.Add(3, "b");

            var enumerator = dictionary.GetEnumerator();

            Assert.True(enumerator.MoveNext());
            Assert.Equal(11, enumerator.Current.Key);
            Assert.Equal("c", enumerator.Current.Value);

            Assert.True(enumerator.MoveNext());
            Assert.Equal(1, enumerator.Current.Key);
            Assert.Equal("a", enumerator.Current.Value);

            Assert.True(enumerator.MoveNext());
            Assert.Equal(12, enumerator.Current.Key);
            Assert.Equal("c", enumerator.Current.Value);

            Assert.True(enumerator.MoveNext());
            Assert.Equal(2, enumerator.Current.Key);
            Assert.Equal("b", enumerator.Current.Value);

            Assert.True(enumerator.MoveNext());
            Assert.Equal(3, enumerator.Current.Key);
            Assert.Equal("b", enumerator.Current.Value);

            Assert.False(enumerator.MoveNext());
            Assert.Equal(new[] { 11, 1, 12, 2, 3 }, dictionary.Keys);
        }