// Demonstration of test-driven development in C. #include #include #include // sso: sum of squares over. // returnea la suma de los numeros en el ramo a de largo n // que superen el umbral u. Los numeros menor o igual a u // se ignoran. int sso(int a[], int n, int u) { int t = 0; for (int i = 0; i < n; i++) { int m = a[i]; if (m > u) t += m*m; } return t; } void ok(int a, int b) { if (a == b) return; fprintf(stderr, "Sorprendentemente, %d != %d\n", a, b); abort(); } void test_stuff() { int a[] = { 4, 3, 53, 13 }; ok(sso(a, 4, 53), 0); ok(sso(a, 4, 52), 53*53); ok(sso(a, 4, 12), 13*13 + 53*53); ok(sso(a, 1, 0), 4*4); ok(sso(a, 4, 2), 4*4 + 3*3 + 13*13 + 53*53); } int main() { test_stuff(); return 0; }