public void TestBasics() { OrdinalList list = new OrdinalList(); Assert.IsFalse(list.IsReadOnly); list.Ceiling = 0; for (int i = 512; i >= 0; i--) list.Add(i); int offset = 0; foreach (int item in list) Assert.AreEqual(offset++, item); Assert.AreEqual(513, offset); Assert.AreEqual(513, list.Count); Assert.AreEqual(519, list.Ceiling); list.Clear(); list.AddRange(new int[] { 5, 10, 20 }); list.AddRange(new int[] { }); Assert.AreEqual(3, list.Count); Assert.AreEqual(23, list.Ceiling); Assert.IsTrue(list.Contains(20)); Assert.IsTrue(list.Remove(20)); Assert.IsFalse(list.Contains(20)); Assert.IsFalse(list.Remove(20)); Assert.AreEqual(2, list.Count); int[] items = new int[2]; list.CopyTo(items, 0); Assert.AreEqual(5, items[0]); Assert.AreEqual(10, items[1]); items = list.ToArray(); Assert.AreEqual(5, items[0]); Assert.AreEqual(10, items[1]); byte[] bits = list.ToByteArray(); Assert.AreEqual(3, bits.Length); Assert.AreEqual(2, new OrdinalList(bits).Count); List<int> tmp = new List<int>(); foreach (int i in list) tmp.Add(i); Assert.AreEqual(2, tmp.Count); Assert.AreEqual(5, tmp[0]); Assert.AreEqual(10, tmp[1]); }