diff options
author | CptAlanSmith <123112708+CptAlanSmith@users.noreply.github.com> | 2023-09-25 21:51:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-25 21:51:49 +0200 |
commit | 127ca294056817bc5814ef5516b29a67ff3fa3bb (patch) | |
tree | 2e5c5676a43793678dfd75f83a862eb3f9f4a780 /src/openvic-simulation/testing/Testing.cpp | |
parent | 05b6db7305398e12363f727a50315972cc9a5a54 (diff) |
Testing (#28)
* Dataloader stubs + default compat path + bits+bobs
* Followup big dataloader commit
* Fixes for building scons
* Initial proof of concept auto-testing
Shows how we can pull loaded data and display it back
* data-loader include
* Re-did headless
Because hubert insisted it be done like this ;)
* Auto-Testing Framework Basics
* Requirements Calculations
* Fix for messy merge (teach me to use merge tools)
* Fixing up misc merge issues to fully reconcile with master changes
* Re-added missing getters
* Move of testing files due to folder reorgs
* Update of file tests
* Test scripting updates - elimnination of issues with data variables hanging over from big merges
Routed gamemanager down to scripts on execute
* Update StringUtils.hpp
* Initial pipeline building
* Pipe fabrication
* Continued work on goods testing, removal of pragma once lines
* Finish of economy tests, initial results outputting
* Output of results
* Removal of direct.h for cross compatibility
---------
Co-authored-by: Hop311 <hop3114@gmail.com>
Diffstat (limited to 'src/openvic-simulation/testing/Testing.cpp')
-rw-r--r-- | src/openvic-simulation/testing/Testing.cpp | 63 |
1 files changed, 55 insertions, 8 deletions
diff --git a/src/openvic-simulation/testing/Testing.cpp b/src/openvic-simulation/testing/Testing.cpp index fcfe2cc..4d3d9ea 100644 --- a/src/openvic-simulation/testing/Testing.cpp +++ b/src/openvic-simulation/testing/Testing.cpp @@ -1,15 +1,10 @@ #include <testing/Testing.hpp> #include <testing/TestScript.hpp> +#include <fstream> using namespace OpenVic; -Testing::Testing(GameManager& g_manager) - : game_manager { g_manager }, - map { g_manager.get_map() }, - building_manager { g_manager.get_building_manager() }, - good_manager { g_manager.get_good_manager() }, - pop_manager { g_manager.get_pop_manager() }, - clock { g_manager.get_clock() } { +Testing::Testing(GameManager* game_manager) { // Constructor for the tests will add requirements // Then execute the script @@ -25,6 +20,10 @@ Testing::Testing(GameManager& g_manager) test_scripts.push_back(a_005_nation_tests); A_006_politics_tests* a_006_politics_tests = new A_006_politics_tests(); test_scripts.push_back(a_006_politics_tests); + + for (int i = 0; i < test_scripts.size(); i++) { + test_scripts[i]->set_game_manager(game_manager); + } } Testing::~Testing() { @@ -33,10 +32,58 @@ Testing::~Testing() { } } -void Testing::report_results() { +void Testing::execute_all_scripts() { for (int i = 0; i < test_scripts.size(); i++) { + test_scripts[i]->execute_script(); + } +} + +void Testing::report_results() { + std::ofstream test_results; + // _mkdir("..\\src\\openvic - simulation\\testing\\test_results"); - replace with compatible version (boost?) + test_results.open("..\\src\\openvic-simulation\\testing\\test_results\\results.txt"); + for (auto test_script : test_scripts) { + std::vector<OpenVic::Requirement*> reqs = test_script->get_requirements(); + std::vector<OpenVic::Requirement*> passed_reqs = test_script->get_passed_requirements(); + std::vector<OpenVic::Requirement*> failed_reqs = test_script->get_failed_requirements(); + std::vector<OpenVic::Requirement*> untested_reqs = test_script->get_untested_requirements(); + + test_results << test_script->get_script_name() << ":" << std::endl; + test_results << "\t" << "Requirements for Test" << std::endl; + test_results << "\t"; + for (auto req : reqs) { + test_results << req->get_id() << " "; + } + if (reqs.size() < 1) test_results << "None"; + test_results << std::endl << std::endl; + + test_results << "\t"<< "Passed Requirements" << std::endl; + test_results << "\t"; + for (auto req : passed_reqs) { + test_results << req->get_id() << " "; + } + if (passed_reqs.size() < 1) test_results << "None"; + test_results << std::endl << std::endl; + + test_results << "\t" << "Failed Requirements" << std::endl; + test_results << "\t"; + for (auto req : failed_reqs) { + test_results << req->get_id() << " "; + } + if (failed_reqs.size() < 1) test_results << "None"; + test_results << std::endl << std::endl; + + test_results << "\t" << "Untested Requirements" << std::endl; + test_results << "\t"; + for (auto req : untested_reqs) { + test_results << req->get_id() << " "; + } + if (untested_reqs.size() < 1) test_results << "None"; + test_results << std::endl << std::endl; + test_results << std::endl<< std::endl; } + test_results.close(); // Create Summary File |