public void Copy()
        {
            StringStringList copy = _list.Copy();

            Assert.AreEqual(_list.Count, copy.Count);

            for (int i = 0; i < copy.Count; i++)
            {
                Assert.AreEqual(_list[i], copy[i]);
                Assert.AreNotSame(_list[i], copy[i]);
            }
        }
        public void SetUp()
        {
            _list     = new StringStringList(item => item.Key);
            _readOnly = _list.AsReadOnly();
            Assert.AreEqual(0, _list.Capacity);
            Assert.AreEqual(0, _list.Count);

            _list.Add(new StringKeyed("one", "first value"));
            _list.Add(new StringKeyed("two", "second value"));
            _list.Add(new StringKeyed("three", "third value"));
            Assert.AreEqual(3, _list.Count);
        }
        public void Clone()
        {
            StringStringList clone = (StringStringList)_list.Clone();

            Assert.AreEqual(_list.Count, clone.Count);

            for (int i = 0; i < clone.Count; i++)
            {
                Assert.AreEqual(_list[i], clone[i]);
                Assert.AreSame(_list[i], clone[i]);
            }
        }
        public void Constructor()
        {
            StringStringList list = new StringStringList(567, item => item.Key);

            list.Add(new StringKeyed("foo", "foo value"));
            list.Add(new StringKeyed("bar", "bar value"));
            Assert.AreEqual(567, list.Capacity);
            Assert.AreEqual(2, list.Count);

            StringKeyed[] array = new StringKeyed[4] {
                new StringKeyed("a", "a value"),
                new StringKeyed("b", "b value"),
                new StringKeyed("c", "c value"),
                new StringKeyed("d", "d value")
            };

            list = new StringStringList(array, item => item.Key);
            Assert.AreEqual(4, list.Capacity);
            Assert.AreEqual(4, list.Count);
        }
 public void TearDown()
 {
     _list.Clear();
     _list = null;
 }