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); }