public void Search_InvalidData_ArrayNull_Test()
        {
            var testObj = new TestModel("a", 2);
            ComparerTestModel testComparer = new ComparerTestModel();

            Assert.Throws <ArgumentNullException>(() => BinarySearch <TestModel> .Search(testObj, null, testComparer));
        }
        public void Search_InvalidData_EmptyArray_Test()
        {
            var testObj = new TestModel("a", 2);
            ComparerTestModel testComparer = new ComparerTestModel();

            TestModel[] testArray = { };

            Assert.Throws <ArgumentException>(() => BinarySearch <TestModel> .Search(testObj, testArray, testComparer));
        }
        public void Search_ValidData_ReferenceTypeObject_Test()
        {
            var testObj = new TestModel("a", 2);
            ComparerTestModel testComparer = new ComparerTestModel();

            TestModel[] testArray = { new TestModel("b", 18), testObj, new TestModel("c", 20) };

            Assert.AreEqual(BinarySearch <TestModel> .Search(testObj, testArray, testComparer), 1);
        }