public void ConstructorTest2()
{
Func<int, double> function = x => elements[x];
BinarySearch search = new BinarySearch(function, 0, elements.Length - 1);
int a1 = search.Find(5);
int a2 = search.Find(6);
int a3 = search.Find(elements.Max() + 1);
int a4 = search.Find(elements.Max() - 1);
int a5 = search.Find(elements.Max());
int a6 = search.Find(elements.Min() + 1);
int a7 = search.Find(elements.Min() - 1);
int a8 = search.Find(elements.Min());
Assert.AreEqual(a1, 4);
Assert.AreEqual(a2, 5);
Assert.AreEqual(a3, 8);
Assert.AreEqual(a4, 8);
Assert.AreEqual(a5, 8);
Assert.AreEqual(a6, 1);
Assert.AreEqual(a7, 0);
Assert.AreEqual(a8, 0);
}