Added unit tests.
This commit is contained in:
45
test_tensor.h
Normal file
45
test_tensor.h
Normal file
@@ -0,0 +1,45 @@
|
||||
#ifndef _TEST_TENSOR_H_INCLUDED_
|
||||
#define _TEST_TENSOR_H_INCLUDED_
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
#include "tensor.h"
|
||||
|
||||
#define NUM_TEST_FUNC 3
|
||||
|
||||
#define ANSI_COLOR_GREEN "\x1b[32m"
|
||||
#define ANSI_COLOR_RESET "\x1b[0m"
|
||||
#define ANSI_COLOR_RED "\x1b[31m"
|
||||
#define ANSI_COLOR_YELLOW "\x1b[33m"
|
||||
#define ANSI_COLOR_BLUE "\x1b[34m"
|
||||
|
||||
#define tensor_assert(X, msg) do{ \
|
||||
FILE* stream = stderr; \
|
||||
if (!X) { \
|
||||
fputs(ANSI_COLOR_RED "Assertion failed: " ANSI_COLOR_RESET, stream); \
|
||||
fprintf(stream, \
|
||||
"function %s, file %s, line %i. ", __func__, __FILE__, __LINE__); \
|
||||
fputs(msg, stream); \
|
||||
fputc('\n', stream); \
|
||||
} else if (strcmp(msg, "mute") != 0) { \
|
||||
fputs(ANSI_COLOR_GREEN "Assertion succeeded: " ANSI_COLOR_RESET, stream); \
|
||||
fprintf(stream, \
|
||||
"function %s, file %s, line %i. ", __func__, __FILE__, __LINE__); \
|
||||
fputc('\n', stream); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define tensor_assert_eq(X, Y) tensor_assert(tensor_is_equal((X), (Y)), "(tensor_assert_eq)")
|
||||
#define tensor_assert_ne(X, Y) tensor_assert(!tensor_is_equal((X), (Y)), "(tensor_assert_ne)")
|
||||
|
||||
#define SUCCESS_PRINT printf(ANSI_COLOR_GREEN "success" ANSI_COLOR_RESET " of %s\n", __func__);
|
||||
|
||||
void test_run_all(void);
|
||||
|
||||
void test_tensor_is_equal(void);
|
||||
void test_tensor_set(void);
|
||||
void test_tensor_get(void);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user