35 const char *filename =
"./data/test_debug_dense.txt";
38 double *mat =
Calloc(
double, 3*2);
51 fid = fopen(filename,
"r");
54 mu_assert(strcmp(buffer,
"-0.241053 -0.599809\n") == 0,
55 "Line doesn't contain expected content (0).");
58 mu_assert(strcmp(buffer,
"+0.893318 -0.344058\n") == 0,
59 "Line doesn't contain expected content (1).");
62 mu_assert(strcmp(buffer,
"+0.933948 -0.474352\n") == 0,
63 "Line doesn't contain expected content (2).");
75 double *A =
Calloc(
double, 4*4);
81 const char *filename =
"./data/test_debug_sparse.txt";
89 fid = fopen(filename,
"r");
92 mu_assert(strcmp(buffer,
"Sparse Matrix:\n") == 0,
93 "Line doesn't contain expected content (0).");
96 mu_assert(strcmp(buffer,
"\tnnz = 4, rows = 4, cols = 4\n") == 0,
97 "Line doesn't contain expected content (1).");
100 mu_assert(strcmp(buffer,
"\tvalues = [ 5.000000, 8.000000, " 101 "3.000000, 6.000000 ]\n") == 0,
102 "Line doesn't contain expected content (2).");
105 mu_assert(strcmp(buffer,
"\tIA = [ 0, 0, 2, 3, 4 ]\n") == 0,
106 "Line doesn't contain expected content (3).");
109 mu_assert(strcmp(buffer,
"\tJA = [ 0, 1, 2, 1 ]\n") == 0,
110 "Line doesn't contain expected content (4).");
Minimal unit testing framework for C.
#define Calloc(type, size)
Header file for gensvm_debug.c.
#define mu_assert(test, message)
#define GENSVM_MAX_LINE_LENGTH
void gensvm_free_sparse(struct GenSparse *sp)
Free an allocated GenSparse structure.
void gensvm_print_sparse(struct GenSparse *A)
Print a sparse matrix.
char * test_print_sparse()
#define mu_run_test(test)
FILE * GENSVM_OUTPUT_FILE
char * test_print_matrix()
void gensvm_print_matrix(double *M, long rows, long cols)
Print a dense matrix.
struct GenSparse * gensvm_dense_to_sparse(double *A, long rows, long cols)
Convert a dense matrix to a GenSparse structure if advantageous.
#define matrix_set(M, cols, i, j, val)
A structure to represent a sparse matrix in CSR format.