static void Test_BinarySearch() { SplitArray <int> ary = new SplitArray <int>(4); ary.Clear(); TestUtl.AssertEquals(-1, ary.BinarySearch(1234)); ary.Clear(); ary.Add(3); TestUtl.AssertEquals(~(0), ary.BinarySearch(2)); TestUtl.AssertEquals((0), ary.BinarySearch(3)); TestUtl.AssertEquals(~(1), ary.BinarySearch(4)); ary.Clear(); ary.Add(1, 3); TestUtl.AssertEquals(~(0), ary.BinarySearch(0)); TestUtl.AssertEquals((0), ary.BinarySearch(1)); TestUtl.AssertEquals(~(1), ary.BinarySearch(2)); TestUtl.AssertEquals((1), ary.BinarySearch(3)); TestUtl.AssertEquals(~(2), ary.BinarySearch(4)); SplitArray <System.Drawing.Point> points = new SplitArray <System.Drawing.Point>(4); points.Add(new System.Drawing.Point()); try { points.BinarySearch(new System.Drawing.Point(1, 1)); throw new AssertException(); } catch (Exception ex) { TestUtl.AssertExceptionType <ArgumentException>(ex); } }
public void BinarySearch() { SplitArray <int> ary = new SplitArray <int>(4); ary.Clear(); Assert.AreEqual(-1, ary.BinarySearch(1234)); ary.Clear(); ary.Add(3); Assert.AreEqual(~(0), ary.BinarySearch(2)); Assert.AreEqual((0), ary.BinarySearch(3)); Assert.AreEqual(~(1), ary.BinarySearch(4)); ary.Clear(); ary.Add(1, 3); Assert.AreEqual(~(0), ary.BinarySearch(0)); Assert.AreEqual((0), ary.BinarySearch(1)); Assert.AreEqual(~(1), ary.BinarySearch(2)); Assert.AreEqual((1), ary.BinarySearch(3)); Assert.AreEqual(~(2), ary.BinarySearch(4)); SplitArray <System.Drawing.Point> points = new SplitArray <System.Drawing.Point>(4); points.Add(new System.Drawing.Point()); MyAssert.Throws <ArgumentException>(delegate { points.BinarySearch(new System.Drawing.Point(1, 1)); }); }