#include "Gauss.h" #include "Matrix.h" #include "test_assert.h" struct Test { Matrix mat; Matrix res; }; static const std::vector TEST_MATRICES = { // test 1 {{3, 3, { 1, 2, 3, 4, 5, 6, 7, 8, 9, }}, {3, 3, { 1, 0, -1, 0, 1, 2, 0, 0, 0, }}}, // test 2 {{3, 3, { 4, 5, 6, 1, 2, 3, 7, 8, 9, }}, {3, 3, { 1, 0, -1, 0, 1, 2, 0, 0, 0, }}} }; void test() { for (Test test : TEST_MATRICES) { Gauss::GaussJordan(test.mat, true, true); test_assert(test.mat == test.res); } } int main(int argc, char** argv) { test(); return 0; }