public void TestPointSet() { ItemSet pSet = new ItemSet(); uint expected = 0; for (int i = 0; i < 16; i++) { expected += (uint)Math.Pow(2.0, i); pSet.Add(i); Assert.True(expected == pSet.GetIndices()); } pSet.RemoveAt(3); expected -= 8; Assert.AreEqual(15, pSet.CountBits(), "Array size 1"); Assert.True(expected == pSet.GetIndices()); MyList<MyPoint> set1 = new MyList<MyPoint>(); set1.Add(new MyPoint(0, 0)); set1.Add(new MyPoint(1, 1)); set1.Add(new MyPoint(2, 2)); set1.Add(new MyPoint(5, 0)); set1.Add(new MyPoint(6, 1)); set1.Add(new MyPoint(7, 2)); set1.Add(new MyPoint(8, 5)); pSet.Reset(); pSet.Add(0); pSet.Add(3); pSet.Add(4); pSet.Add(6); Assert.AreEqual(4, pSet.CountBits(), "Array size 2"); pSet.GetItem(set1, 0); pSet.GetItem(set1, 1); pSet.GetItem(set1, 2); pSet.GetItem(set1, 3); Assert.True(set1[0] == pSet.GetItem(set1, 0), "Check 0"); Assert.True(set1[3] == pSet.GetItem(set1, 1), "Check 1"); Assert.True(set1[4] == pSet.GetItem(set1, 2), "Check 2"); Assert.True(set1[6] == pSet.GetItem(set1, 3), "Check 3"); }