Digamos que estoy implementando algo simple como buscar una lista / matriz ordenada. La función (en c #) se vería similar a:
static int FindIndex(int[] sortedList, int i);
Podría implementar y probar esto en términos de funcionalidad, pero por razones obvias, normalmente preferiría una búsqueda binaria en lugar de una búsqueda lineal o algo intencionalmente estúpido.
Entonces, mi pregunta es: ¿deberíamos intentar escribir pruebas que garanticen el rendimiento en términos de complejidad algorítmica y, de ser así, cómo?
He comenzado a presentar argumentos en ambos lados de la parte "debería" de esta pregunta, pero me gustaría ver lo que dice la gente sin mis argumentos para incitarlos.
En términos de "cómo", eso se vuelve muy interesante :) Podría ver la parametrización del operador de comparación y tener una prueba cuyo operador de comparación cuenta comparaciones o algo así. Pero solo porque puedas no significa que debas ...
¿Alguien más ha considerado esto (probablemente)? Gracias.