public void BinarySearchTest()
        {
            int a, b;
            var csl = new ConcurrentSortedList();

            (a, b) = csl.BinarySearch(1);

            Assert.Equal(-1, a);
            Assert.Equal(0, b);

            csl.Add(1);

            (a, b) = csl.BinarySearch(1);
            Assert.Equal(0, a);
            Assert.Equal(0, b);
            (a, b) = csl.BinarySearch(0);
            Assert.Equal(-1, a);
            Assert.Equal(0, b);
            (a, b) = csl.BinarySearch(100);
            Assert.Equal(csl.Count - 1, a);
            Assert.Equal(csl.Count, b);

            csl.Add(2);

            (a, b) = csl.BinarySearch(1);
            Assert.Equal(0, a);
            Assert.Equal(0, b);
            (a, b) = csl.BinarySearch(2);
            Assert.Equal(1, a);
            Assert.Equal(1, b);
            (a, b) = csl.BinarySearch(0);
            Assert.Equal(-1, a);
            Assert.Equal(0, b);
            (a, b) = csl.BinarySearch(100);
            Assert.Equal(csl.Count - 1, a);
            Assert.Equal(csl.Count, b);

            csl.Add(4);

            (a, b) = csl.BinarySearch(1);
            Assert.Equal(0, a);
            Assert.Equal(0, b);
            (a, b) = csl.BinarySearch(2);
            Assert.Equal(1, a);
            Assert.Equal(1, b);
            (a, b) = csl.BinarySearch(4);
            Assert.Equal(2, a);
            Assert.Equal(2, b);
            (a, b) = csl.BinarySearch(0);
            Assert.Equal(-1, a);
            Assert.Equal(0, b);
            (a, b) = csl.BinarySearch(100);
            Assert.Equal(csl.Count - 1, a);
            Assert.Equal(csl.Count, b);

            (a, b) = csl.BinarySearch(3);
            Assert.Equal(1, a);
            Assert.Equal(2, b);
        }