// Parte 2: pruebas de los filtros sobre imágenes pequeñas.
// Agreguen al menos una función de prueba para invert, threshold, flip_horizontal e
// image_stats, y llámenla desde main. Calculen a mano el resultado esperado.
#include <assert.h>
#include <stdio.h>

#include "filters.h"

static void test_brighten(void) {
    const int values[] = {0, 10, 20,
                          30, 250, 255};
    const int expected[] = {5, 15, 25,
                            35, 255, 255};
    struct image img;
    struct image wanted;

    int ok = image_from_values(&img, 3, 2, 255, values);
    ok = image_from_values(&wanted, 3, 2, 255, expected) && ok;
    assert(ok);

    brighten(&img, 5);
    assert(image_equal(&img, &wanted));

    brighten(&img, 0);
    assert(image_equal(&img, &wanted));
}

int main(void) {
    test_brighten();

    printf("Todas las pruebas pasaron\n");
    return 0;
}
