typestar

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

  1. Cada prueba nombra un comportamiento y lo verifica con asserts.
  2. main las corre y reporta cuando todas pasaron.
  3. Un assert que falla aborta y nombra el archivo y la línea.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 1 de 2 en Bis; paso 10 de 11 en APIs, errores y pruebas.

← Anterior Siguiente →