From 560cca06326b3d93ba095fde2fbc14bd4c122f00 Mon Sep 17 00:00:00 2001 From: zedarider Date: Tue, 17 Jan 2017 22:49:49 +0000 Subject: fixed the chess tester --- src/chess_tester.cpp | 187 +++++++++++++++++++++++++-------------------------- 1 file changed, 91 insertions(+), 96 deletions(-) (limited to 'src/chess_tester.cpp') diff --git a/src/chess_tester.cpp b/src/chess_tester.cpp index 6f3745c..9e20fd3 100644 --- a/src/chess_tester.cpp +++ b/src/chess_tester.cpp @@ -1,125 +1,120 @@ #include "chess_tester.hpp" -chess_tester::chess_tester() : ts_begin(false) { - srand(time(NULL)); +using namespace ymhChessAI; - test_id = rand() % 0xffffffff; - test_id_test = test_id; +chess_tester::chess_tester() : ts_begin(false) { + srand(time(NULL)); + test_id = rand() % 0xffffffff; + test_id_test = test_id; } void chess_tester::chess_begin_test_suite() { - if(ts_begin) { - fprintf(stderr, "Error: already started test suite\n"); - exit(1); - } + if(ts_begin) { + fprintf(stderr, "Error: already started test suite\n"); + exit(1); + } - ts_begin = true; + ts_begin = true; } int chess_tester::chess_begin_test(std::string test_name) { - if(!ts_begin) { - fprintf(stderr, "Error: the test suite hasn't been started yet\n"); - exit(1); - } + if(!ts_begin) { + fprintf(stderr, "Error: the test suite hasn't been started yet\n"); + exit(1); + } - if(!is_in_arr(test_name)) { - fprintf(stderr, "Error: the test name does not exist\n"); - exit(1); - } + if(!is_in_arr(test_name)) { + fprintf(stderr, "Error: the test name does not exist\n"); + exit(1); + } - current_test = test_name; + current_test = test_name; - test_id = rand() % 0xffffffff; - test_id_test = test_id; + test_id = rand() % 0xffffffff; + test_id_test = test_id; - return test_id; + return test_id; } void chess_tester::chess_end_test(int test_id, bool passed) { - if(test_id != test_id_test) { - fprintf(stderr , "Error: the test from before has not been ended\n"); - exit(1); - } - - tested_pieces tmp; - tmp.piece_name = current_test; - - if(passed) { - tmp.num_passed = 1; - tmp.num_failed = 0; - } else { - tmp.num_passed = 0; - tmp.num_failed = 1; - } - - if(test_piece.empty() || !is_in_vec(tmp)) { - test_piece.push_back(tmp); - } else { - for(unsigned i = 0; i < test_piece.size(); ++i) { - if(test_piece[i] == tmp) { - if(passed) { - test_piece[i].num_passed++; - } else { - test_piece[i].num_failed++; - } - } - } - } + if(test_id != test_id_test) { + fprintf(stderr, "Error: the test from before has not been ended\n"); + exit(1); + } + + tested_pieces tmp; + tmp.piece_name = current_test; + + if(passed) { + tmp.num_passed = 1; + tmp.num_failed = 0; + } else { + tmp.num_passed = 0; + tmp.num_failed = 1; + } + + if(test_piece.empty() || !is_in_vec(tmp)) { + test_piece.push_back(tmp); + } else { + for(unsigned i = 0; i < test_piece.size(); ++i) { + if(test_piece[i] == tmp) { + if(passed) + test_piece[i].num_passed++; + else + test_piece[i].num_failed++; + } + } + } } void chess_tester::chess_end_test_suite() { - std::sort(test_piece.begin(), test_piece.end()); - - int pieces_passed = 0; - int pieces_partial = 0; - int pieces_fail = 0; - - fprintf(stderr, "+-%10s-+-%5s-+-%6s-+-%8s-+\n", "----------", "-----", - "------", "--------"); - fprintf(stderr, "| %10s | %5s | %6s | %8s |\n", "Piece ", "Total", "Passed", - "Passed %"); - fprintf(stderr, "+-%10s-+-%5s-+-%6s-+-%8s-+\n", "----------", "-----", - "------", "--------"); - for(unsigned i = 0; i < test_piece.size(); ++i) { - fprintf(stderr, "| %10s | %5d | %6d | %7.3f%% |\n", - test_piece[i].piece_name.c_str(), test_piece[i].num_passed + - test_piece[i].num_failed, test_piece[i].num_passed, - 100.0*(double)test_piece[i].num_passed / - (double)(test_piece[i].num_passed + test_piece[i].num_failed)); - - if(test_piece[i].num_passed == 0) { - pieces_fail++; - } else if(test_piece[i].num_failed == 0) { - pieces_passed++; - } else { - pieces_partial++; - } - } - fprintf(stderr, "+-%10s-+-%5s-+-%6s-+-%8s-+\n", "----------", "-----", - "------", "--------"); - - fprintf(stderr, "\nTotal pieces tested: %lu\n", test_piece.size()); - fprintf(stderr, "Passed: %d\n", pieces_passed); - fprintf(stderr, "Partially working: %d\n", pieces_partial); - fprintf(stderr, "Failed: %d\n", pieces_fail); + std::sort(test_piece.begin(), test_piece.end()); + + int pieces_passed = 0; + int pieces_partial = 0; + int pieces_fail = 0; + + fprintf(stderr, "+-%10s-+-%5s-+-%6s-+-%8s-+\n", "----------", "-----", + "------", "--------"); + fprintf(stderr, "| %10s | %5s | %6s | %8s |\n", "Piece ", "Total", "Passed", + "Passed %"); + fprintf(stderr, "+-%10s-+-%5s-+-%6s-+-%8s-+\n", "----------", "-----", + "------", "--------"); + for(unsigned i = 0; i < test_piece.size(); ++i) { + fprintf(stderr, "| %10s | %5d | %6d | %7.3f%% |\n", + test_piece[i].piece_name.c_str(), test_piece[i].num_passed + + test_piece[i].num_failed, test_piece[i].num_passed, + 100.0 * (double)test_piece[i].num_passed / + (double)(test_piece[i].num_passed + test_piece[i].num_failed)); + + if(test_piece[i].num_passed == 0) + pieces_fail++; + else if(test_piece[i].num_failed == 0) + pieces_passed++; + else + pieces_partial++; + } + fprintf(stderr, "+-%10s-+-%5s-+-%6s-+-%8s-+\n", "----------", "-----", + "------", "--------"); + + fprintf(stderr, "\nTotal pieces tested: %lu\n", test_piece.size()); + fprintf(stderr, "Passed: %d\n", pieces_passed); + fprintf(stderr, "Partially working: %d\n", pieces_partial); + fprintf(stderr, "Failed: %d\n", pieces_fail); } bool chess_tester::is_in_arr(const std::string& test_piece) const { - for(unsigned i = 0; i < CHESS_TEST_SIZE; ++i) { - if(chess_test_pieces[i] == test_piece) { - return true; - } - } + for(unsigned i = 0; i < CHESS_TEST_SIZE; ++i) + if(chess_test_pieces[i] == test_piece) + return true; - return false; + return false; } bool chess_tester::is_in_vec(const tested_pieces& piece) const { - for(unsigned i = 0; i < test_piece.size(); ++i) { - if(test_piece[i] == piece) { - return true; - } - } - return false; + for(unsigned i = 0; i < test_piece.size(); ++i) + if(test_piece[i] == piece) + return true; + return false; } -- cgit From 6d61c014039818d13a6908ae47caf377c8f948f3 Mon Sep 17 00:00:00 2001 From: ymherklotz Date: Thu, 19 Jan 2017 13:42:28 +0000 Subject: Backing up files changed on laptop --- src/chess_tester.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/chess_tester.cpp') diff --git a/src/chess_tester.cpp b/src/chess_tester.cpp index 9e20fd3..a8ec0b5 100644 --- a/src/chess_tester.cpp +++ b/src/chess_tester.cpp @@ -10,10 +10,9 @@ chess_tester::chess_tester() : ts_begin(false) { } void chess_tester::chess_begin_test_suite() { - if(ts_begin) { + if(ts_begin) fprintf(stderr, "Error: already started test suite\n"); - exit(1); - } + exit(1); ts_begin = true; } -- cgit