Ejemplo n.º 1
0
        private IBTreeRange Search()
        {
            IBTreeRange range  = Search(Constraint().GetObject());
            QEBitmap    bitmap = QEBitmap.ForQE(Constraint().Evaluator());

            if (bitmap.TakeGreater())
            {
                if (bitmap.TakeEqual())
                {
                    return(range.ExtendToLast());
                }
                IBTreeRange greater = range.Greater();
                if (bitmap.TakeSmaller())
                {
                    return(greater.Union(range.Smaller()));
                }
                return(greater);
            }
            if (bitmap.TakeSmaller())
            {
                if (bitmap.TakeEqual())
                {
                    return(range.ExtendToFirst());
                }
                return(range.Smaller());
            }
            return(range);
        }
Ejemplo n.º 2
0
        private void AssertLastPointer(int searchValue, int expectedValue)
        {
            IBTreeRange  single       = Search(searchValue);
            IBTreeRange  smallerRange = single.Smaller();
            BTreePointer lastPointer  = smallerRange.LastPointer();

            Assert.AreEqual(expectedValue, lastPointer.Key());
        }