Tests a base de asserts en C
Una prueba es una función llena de asserts, llamada desde main. Sin framework.
#include <assert.h>
#include <stdio.h>
static size_t count_char(const char *text, char target) {
size_t n = 0;
for (; *text; text++) {
if (*text == target) {
n++;
}
}
return n;
}
static void test_counts_repeats(void) {
assert(count_char("mississippi", 's') == 4);
assert(count_char("mississippi", 'm') == 1);
}
static void test_handles_absence(void) {
assert(count_char("abc", 'z') == 0);
assert(count_char("", 'a') == 0);
}
int main(void) {
test_counts_repeats();
test_handles_absence();
printf("all tests passed\n");
return 0;
}
Cómo funciona
- Cada prueba nombra un comportamiento y lo verifica con asserts.
mainlas corre y reporta cuando todas pasaron.- Un assert que falla aborta y nombra el archivo y la línea.
Palabras clave y builtins usados aquí
charconstforifintreturnsize_tstaticvoid
El intento, en números
- Líneas
- 29
- Caracteres a escribir
- 534
- Tokens
- 163
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 89 segundos.
Paso 1 de 2 en Bis; paso 10 de 11 en APIs, errores y pruebas.