Beispiel #1
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);
        }
Beispiel #2
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);
        }
Beispiel #3
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());
        }