public void Copy()
        {
            const int Items = 10;

            for (int i = 0; i < Items; i++)
            {
                intColA.Add(i);
            }

            intColB.CopyFrom(intColA);

            for (int i = 0; i < intColA.Count; i++)
            {
                Assert.AreEqual(intColA[i], intColB[i]);
            }

            //test enumerator
            var enumer = intColA.GetEnumerator();
            var index  = 0;

            while (enumer.MoveNext())
            {
                Assert.AreEqual(enumer.Current, intColB[index++]);
            }

            intColB.Clear();
            intColB.Add(intColA);

            for (int i = 0; i < intColA.Count; i++)
            {
                Assert.AreEqual(intColA[i], intColB[i]);
            }

            intColB.Clear();
            int[] copyDest = new int[intColA.Count];
            intColA.CopyTo(copyDest, 0);

            for (int i = 0; i < intColA.Count; i++)
            {
                Assert.AreEqual(intColA[i], copyDest[i]);
            }

            //now back again
            intColA.Clear();
            intColA.CopyFrom(copyDest);
            for (int i = 0; i < intColA.Count; i++)
            {
                Assert.AreEqual(intColA[i], copyDest[i]);
            }

            //now lists
            intColA.Clear();
            intColA.CopyFrom(copyDest.ToList());
            for (int i = 0; i < intColA.Count; i++)
            {
                Assert.AreEqual(intColA[i], copyDest[i]);
            }

            intColA.Clear();
            intColB.Clear();
        }