blob: 07294b2a883f13ddb2f290164014e2924e7326fa (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
#include "Testing.hpp"
#include <fstream>
#include "openvic-simulation/testing/TestScript.hpp"
using namespace OpenVic;
Testing::Testing(DefinitionManager const& definition_manager) {
// Constructor for the tests will add requirements
// Then execute the script
A_001_file_tests* a_001_file_tests = new A_001_file_tests();
test_scripts.push_back(a_001_file_tests);
A_002_economy_tests* a_002_economy_tests = new A_002_economy_tests();
test_scripts.push_back(a_002_economy_tests);
A_003_military_unit_tests* a_003_military_unit_tests = new A_003_military_unit_tests();
test_scripts.push_back(a_003_military_unit_tests);
A_004_networking_tests* a_004_networking_tests = new A_004_networking_tests();
test_scripts.push_back(a_004_networking_tests);
A_005_nation_tests* a_005_nation_tests = new A_005_nation_tests();
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 (auto test_script : test_scripts) {
test_script->set_definition_manager(&definition_manager);
}
}
Testing::~Testing() {
for (TestScript* test_script : test_scripts) {
delete test_script;
}
}
void Testing::execute_all_scripts() {
for (auto test_script : test_scripts) {
test_script->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<Requirement*> reqs = test_script->get_requirements();
std::vector<Requirement*> passed_reqs = test_script->get_passed_requirements();
std::vector<Requirement*> failed_reqs = test_script->get_failed_requirements();
std::vector<Requirement*> untested_reqs = test_script->get_untested_requirements();
test_results << test_script->get_script_name() << ":" << std::endl;
report_result("Requirements for Test", test_results, reqs);
report_result("Passed Requirements", test_results, passed_reqs);
report_result("Failed Requirements", test_results, failed_reqs);
report_result("Untested Requirements", test_results, untested_reqs);
test_results << std::endl << std::endl;
}
test_results.close();
}
void Testing::report_result(std::string req_title, std::ofstream& outfile, std::vector<Requirement*> reqs) {
outfile << "\t" << req_title << std::endl;
outfile << "\t";
for (auto req : reqs) {
outfile << req->get_id() << " ";
}
if (reqs.size() < 1) {
outfile << "None";
}
outfile << std::endl << std::endl;
}
|