A small table can run the same check over several inputs.

Table Tests

table_tests.c
#include <stdio.h>

int clamp_low(int value) {
    if (value < 0) {
        return 0;
    }

    return value;
}

int main(void) {
    int offset = ;
    int inputs[3] = {-2, 0, 5};
    int expected[3] = {0, 0, 5};
    int failures = 0;

    for (int i = 0; i < 3; i++) {
        int actual = clamp_low(inputs[i] + offset);
        if (actual != expected[i]) {
            failures = failures + 1;
        }
    }

    printf("failures=%d\n", failures);
    return 0;
}
#include <stdio.h>

int clamp_low(int value) {
    if (value < 0) {
        return 0;
    }

    return value;
}

int main(void) {
    int offset = ;
    int inputs[3] = {-2, 0, 5};
    int expected[3] = {0, 0, 5};
    int failures = 0;

    for (int i = 0; i < 3; i++) {
        int actual = clamp_low(inputs[i] + offset);
        if (actual != expected[i]) {
            failures = failures + 1;
        }
    }

    printf("failures=%d\n", failures);
    return 0;
}
#include <stdio.h>

int clamp_low(int value) {
    if (value < 0) {
        return 0;
    }

    return value;
}

int main(void) {
    int offset = ;
    int inputs[3] = {-2, 0, 5};
    int expected[3] = {0, 0, 5};
    int failures = 0;

    for (int i = 0; i < 3; i++) {
        int actual = clamp_low(inputs[i] + offset);
        if (actual != expected[i]) {
            failures = failures + 1;
        }
    }

    printf("failures=%d\n", failures);
    return 0;
}
test case Each row gives an input and the expected output.
failure count Counting mismatches gives one summary result after all rows have run.