Created
June 16, 2016 21:49
-
-
Save warmwaffles/3f358853b1d2e39c510223b6675b0eeb to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #pragma once | |
| #include <stdlib.h> | |
| #include <stdio.h> | |
| #define MU_ANSI_BLACK "\033[0;30m" | |
| #define MU_ANSI_RED "\033[0;31m" | |
| #define MU_ANSI_GREEN "\033[0;32m" | |
| #define MU_ANSI_YELLOW "\033[0;33m" | |
| #define MU_ANSI_BLUE "\033[0;34m" | |
| #define MU_ANSI_MAGENTA "\033[0;35m" | |
| #define MU_ANSI_CYAN "\033[0;36m" | |
| #define MU_ANSI_GREY "\033[0;37m" | |
| #define MU_ANSI_BBLACK "\033[01;30m" | |
| #define MU_ANSI_BRED "\033[01;31m" | |
| #define MU_ANSI_BGREEN "\033[01;32m" | |
| #define MU_ANSI_BYELLOW "\033[01;33m" | |
| #define MU_ANSI_BBLUE "\033[01;34m" | |
| #define MU_ANSI_BMAGENTA "\033[01;35m" | |
| #define MU_ANSI_BCYAN "\033[01;36m" | |
| #define MU_ANSI_BWHITE "\033[01;37m" | |
| #define MU_ANSI_END "\033[0m" | |
| #define mu_error(message) \ | |
| fprintf(stdout, "%s[F]%s %s %s:%d\n", MU_ANSI_RED, MU_ANSI_END, message, __FILE__, __LINE__) | |
| #define mu_pass(message) fprintf(stdout, "%s[P]%s %s\n", MU_ANSI_GREEN, MU_ANSI_END, message) | |
| #define mu_assert(expression, message) \ | |
| do { \ | |
| if (!(expression)) { \ | |
| mu_error(message); \ | |
| abort(); \ | |
| } else { \ | |
| mu_pass(message); \ | |
| } \ | |
| } while (0) | |
| #define mu_refute(expression, message) \ | |
| do { \ | |
| if ((expression)) { \ | |
| mu_error(message); \ | |
| abort(); \ | |
| } else { \ | |
| mu_pass(message); \ | |
| } \ | |
| } while (0) | |
| #define mu_near(expected, actual, epsilon, message) \ | |
| do { \ | |
| if (expected - actual < 0) { \ | |
| if ((actual - expected) > epsilon) { \ | |
| mu_error(message); \ | |
| abort(); \ | |
| } else { \ | |
| mu_pass(message); \ | |
| } \ | |
| } else { \ | |
| if ((expected - actual) > epsilon) { \ | |
| mu_error(message); \ | |
| abort(); \ | |
| } else { \ | |
| mu_pass(message); \ | |
| } \ | |
| } \ | |
| } while (0) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment