// Copyright (c) 2014-2018 Thomas Fussell // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, WRISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE // // @license: http://www.opensource.org/licenses/mit-license.php // @author: see AUTHORS file #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include test_status overall_status; template void run_tests() { auto status = T{}.go(); overall_status.tests_run += status.tests_run; overall_status.tests_passed += status.tests_passed; overall_status.tests_failed += status.tests_failed; std::copy(status.failures.begin(), status.failures.end(), std::back_inserter(overall_status.failures)); } void print_summary() { std::cout << "\n\n"; for (auto failure : overall_status.failures) { std::cout << failure << "\n\n"; } } int main() { // cell run_tests(); run_tests(); run_tests(); // styles run_tests(); run_tests(); run_tests(); run_tests(); // utils run_tests(); run_tests(); run_tests(); run_tests(); // workbook run_tests(); run_tests(); run_tests(); // worksheet run_tests(); run_tests(); run_tests(); print_summary(); return static_cast(overall_status.tests_failed); }