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)); }
public void IfKeyIsNullContainsKeyShouldThrowAmError() { var dictionary = new ManualDictionary <string, string>(); dictionary.Add("1", "a"); dictionary.Add("2", "b"); Assert.Throws <ArgumentNullException>(() => dictionary.ContainsKey(null)); }
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")); }
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"); }
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)); }
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)); }
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)); }
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); }
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)); }
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)); }
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"))); }
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]); }
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); }
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()); }
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); }