Пример #1
0
static void judge_unary(
    dec64 first,
    dec64 expected,
    dec64 actual,
    char * name,
    char * op,
    char * comment
) {
    if (dec64_is_equal(expected, actual) == DEC64_TRUE) {
        nr_pass += 1;
        if (level >= 3) {
            printf("\n\npass %s: %s", name, comment);
            printf("\n%-4s", op);
            print_dec64(first);
            printf("\n%-4s", "=");
            print_dec64(actual);
        }
    } else {
        nr_fail += 1;
        if (level >= 1) {
            printf("\n\nFAIL %s: %s", name, comment);
            if (level >= 2) {
                printf("\n%-4s", op);
                print_dec64(first);
                printf("\n%-4s", "?");
                print_dec64(actual);
                printf("  (error ");
                print_dec64(dec64_subtract(actual, expected));
                printf(")\n%-4s", "=");
                print_dec64(expected);
            }
        }
    }
}
Пример #2
0
void test_subtract(dec64 first, dec64 second, dec64 expected, char * comment) {
    dec64 actual = dec64_subtract(first, second);
    judge_binary(first, second, expected, actual, "subtract", "-", comment);
}