Скажімо, я реалізую щось просте, наприклад пошук відсортованого списку / масиву. Функція (в c #) буде схожа на:
static int FindIndex(int[] sortedList, int i);
Я міг би реалізувати і протестувати це з точки зору функціональності, але, з очевидних причин, як правило, я вважаю за краще двійковий пошук над лінійним пошуком або щось навмисне дурне.
Отже, моє запитання: чи слід намагатися написати тести, які гарантують продуктивність з точки зору складності алгоритму, і якщо так, то як?
Я почав висловлювати аргументи з обох сторін "цього питання", але я хотів би побачити, що кажуть люди без моїх аргументів, щоб їх підказати.
З точки зору "як", це стає дуже цікавим :) Ви можете побачити параметризацію оператора порівняння та проведення тесту, чий оператор порівняння підраховує порівняння чи щось подібне. Але тільки тому, що ти не можеш означати, що ти повинен ...
Хтось ще вважав це (напевно)? Спасибі.