aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/testing
diff options
context:
space:
mode:
Diffstat (limited to 'src/openvic-simulation/testing')
-rw-r--r--src/openvic-simulation/testing/Requirement.cpp15
-rw-r--r--src/openvic-simulation/testing/Requirement.hpp33
-rw-r--r--src/openvic-simulation/testing/TestScript.cpp31
-rw-r--r--src/openvic-simulation/testing/TestScript.hpp30
-rw-r--r--src/openvic-simulation/testing/Testing.cpp43
-rw-r--r--src/openvic-simulation/testing/Testing.hpp44
-rw-r--r--src/openvic-simulation/testing/test_scripts/A_001_file_tests.cpp179
-rw-r--r--src/openvic-simulation/testing/test_scripts/A_002_economy_tests.cpp499
-rw-r--r--src/openvic-simulation/testing/test_scripts/A_003_military_unit_tests.cpp19
-rw-r--r--src/openvic-simulation/testing/test_scripts/A_004_networking_tests.cpp19
-rw-r--r--src/openvic-simulation/testing/test_scripts/A_005_nation_tests.cpp19
-rw-r--r--src/openvic-simulation/testing/test_scripts/A_006_politics_tests.cpp19
12 files changed, 950 insertions, 0 deletions
diff --git a/src/openvic-simulation/testing/Requirement.cpp b/src/openvic-simulation/testing/Requirement.cpp
new file mode 100644
index 0000000..4c46f00
--- /dev/null
+++ b/src/openvic-simulation/testing/Requirement.cpp
@@ -0,0 +1,15 @@
+#include <testing/Requirement.hpp>
+
+using namespace OpenVic;
+
+// Getters
+std::string Requirement::get_id() { return id; }
+std::string Requirement::get_text() { return text; }
+std::string Requirement::get_acceptance_criteria() { return acceptance_criteria; }
+bool Requirement::get_pass() { return pass; }
+
+// Setters
+void Requirement::set_id(std::string in_id) { id = in_id; }
+void Requirement::set_text(std::string in_text) { text = in_text; }
+void Requirement::set_acceptance_criteria(std::string in_acceptance_criteria) { acceptance_criteria = in_acceptance_criteria; }
+void Requirement::set_pass(bool in_pass) { pass = in_pass; }
diff --git a/src/openvic-simulation/testing/Requirement.hpp b/src/openvic-simulation/testing/Requirement.hpp
new file mode 100644
index 0000000..aeb36e7
--- /dev/null
+++ b/src/openvic-simulation/testing/Requirement.hpp
@@ -0,0 +1,33 @@
+#pragma once
+#include <string>
+
+namespace OpenVic {
+
+ class Requirement {
+
+ std::string id;
+ std::string text;
+ std::string acceptance_criteria;
+ bool pass = false; // Explicitly false to begin
+
+ public:
+
+ Requirement(std::string in_id, std::string in_text, std::string in_acceptance_criteria) {
+ id = in_id;
+ text = in_text;
+ acceptance_criteria = in_acceptance_criteria;
+ }
+
+ // Getters
+ std::string get_id();
+ std::string get_text();
+ std::string get_acceptance_criteria();
+ bool get_pass();
+
+ // Setters
+ void set_id(std::string in_id);
+ void set_text(std::string in_text);
+ void set_acceptance_criteria(std::string in_acceptance_criteria);
+ void set_pass(bool in_pass);
+ };
+}
diff --git a/src/openvic-simulation/testing/TestScript.cpp b/src/openvic-simulation/testing/TestScript.cpp
new file mode 100644
index 0000000..7652fa5
--- /dev/null
+++ b/src/openvic-simulation/testing/TestScript.cpp
@@ -0,0 +1,31 @@
+#include <testing/TestScript.hpp>
+
+using namespace OpenVic;
+
+// Getters
+std::vector<Requirement> TestScript::get_requirements() { return requirements; }
+Requirement TestScript::get_requirement_at_index(int index) { return requirements[index]; }
+Requirement TestScript::get_requirement_by_id(std::string id) {
+ for (int i = 0; i < requirements.size(); i++) {
+ if (requirements[i].get_id() == id) return requirements[i];
+ }
+ return Requirement("NULL", "NULL", "NULL");
+}
+std::vector<Requirement> TestScript::get_passed_requirements() {
+ std::vector<Requirement> passed_requirements = std::vector<Requirement>();
+ for (int i = 0; i < requirements.size(); i++) {
+ if (requirements[i].get_pass()) passed_requirements.push_back(requirements[i]);
+ }
+ return passed_requirements;
+}
+std::vector<Requirement> TestScript::get_failed_requirements() {
+ std::vector<Requirement> failed_requirements = std::vector<Requirement>();
+ for (int i = 0; i < requirements.size(); i++) {
+ if (!requirements[i].get_pass()) failed_requirements.push_back(requirements[i]);
+ }
+ return failed_requirements;
+}
+
+// Setters
+void TestScript::set_requirements(std::vector<Requirement> in_requirements) { requirements = in_requirements; }
+void TestScript::add_requirement(Requirement req) { requirements.push_back(req); }
diff --git a/src/openvic-simulation/testing/TestScript.hpp b/src/openvic-simulation/testing/TestScript.hpp
new file mode 100644
index 0000000..c41767b
--- /dev/null
+++ b/src/openvic-simulation/testing/TestScript.hpp
@@ -0,0 +1,30 @@
+#pragma once
+#include <testing/Requirement.hpp>
+#include <vector>
+
+namespace OpenVic {
+
+ class TestScript {
+
+ std::vector<Requirement> requirements = std::vector<Requirement>();
+
+ public:
+
+ // expects an overriden method that performs arbitrary code execution
+ // so that each script uniquely performs tests
+ // for both requirement adding to script and to execute code
+ virtual void add_requirements() = 0;
+ virtual void execute_script() = 0;
+
+ // Getters
+ std::vector<Requirement> get_requirements();
+ Requirement get_requirement_at_index(int index);
+ Requirement get_requirement_by_id(std::string id);
+ std::vector<Requirement> get_passed_requirements();
+ std::vector<Requirement> get_failed_requirements();
+
+ // Setters
+ void set_requirements(std::vector<Requirement> in_requirements);
+ void add_requirement(Requirement req);
+ };
+}
diff --git a/src/openvic-simulation/testing/Testing.cpp b/src/openvic-simulation/testing/Testing.cpp
new file mode 100644
index 0000000..fcfe2cc
--- /dev/null
+++ b/src/openvic-simulation/testing/Testing.cpp
@@ -0,0 +1,43 @@
+#include <testing/Testing.hpp>
+#include <testing/TestScript.hpp>
+
+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() } {
+
+ // 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);
+}
+
+Testing::~Testing() {
+ for (TestScript* test_script : test_scripts) {
+ delete test_script;
+ }
+}
+
+void Testing::report_results() {
+ for (int i = 0; i < test_scripts.size(); i++) {
+
+ }
+
+ // Create Summary File
+
+}
diff --git a/src/openvic-simulation/testing/Testing.hpp b/src/openvic-simulation/testing/Testing.hpp
new file mode 100644
index 0000000..35e8a96
--- /dev/null
+++ b/src/openvic-simulation/testing/Testing.hpp
@@ -0,0 +1,44 @@
+#pragma once
+#include <testing/TestScript.hpp>
+#include <GameManager.hpp>
+#include <iostream>
+#include <vector>
+
+#include <testing/test_scripts/A_001_file_tests.cpp>
+#include <testing/test_scripts/A_002_economy_tests.cpp>
+#include <testing/test_scripts/A_003_military_unit_tests.cpp>
+#include <testing/test_scripts/A_004_networking_tests.cpp>
+#include <testing/test_scripts/A_005_nation_tests.cpp>
+#include <testing/test_scripts/A_006_politics_tests.cpp>
+
+namespace OpenVic {
+
+ class Testing {
+
+ public:
+ GameManager& game_manager;
+ Map& map;
+ BuildingManager& building_manager;
+ GoodManager& good_manager;
+ PopManager& pop_manager;
+ GameAdvancementHook& clock;
+
+ std::vector<TestScript*> test_scripts = std::vector<TestScript*>();
+
+ //// Prototype test script
+ //const BuildingType* building_type = building_manager->get_building_type_by_identifier("building_fort");
+ //std::cout << "building_fort"
+ // << " build time is " << building_type->get_build_time() << std::endl;
+ //std::cout << "building_fort"
+ // << " identifier is " << building_type->get_identifier() << std::endl;
+ //std::cout << "building_fort"
+ // << " max level is " << int(building_type->get_max_level()) << std::endl;
+ //for (const auto& good : good_manager->get_goods())
+ // std::cout << good.get_identifier() << " price = " << good.get_base_price() << std::endl;
+
+ Testing(GameManager& g_manager);
+ ~Testing();
+
+ void report_results();
+ };
+}
diff --git a/src/openvic-simulation/testing/test_scripts/A_001_file_tests.cpp b/src/openvic-simulation/testing/test_scripts/A_001_file_tests.cpp
new file mode 100644
index 0000000..2748d2d
--- /dev/null
+++ b/src/openvic-simulation/testing/test_scripts/A_001_file_tests.cpp
@@ -0,0 +1,179 @@
+# pragma once
+# include <testing/TestScript.hpp>
+
+namespace OpenVic {
+ class A_001_file_tests : public TestScript {
+
+ public:
+ A_001_file_tests() {
+ add_requirements();
+ execute_script();
+ }
+
+ void add_requirements() {
+ Requirement FS_44 = Requirement("FS_44",
+ "The icon for the Canned Food good shall be loaded from the R/art/economy/goods folder with the filename Canned Food.png",
+ "The icon for the Canned Food good has been loaded into the program");
+ add_requirement(FS_44);
+ Requirement FS_48 = Requirement("FS_48",
+ "The icon for the Coal good shall be loaded from the R/art/economy/goods folder with the filename Coal.png",
+ "The icon for the Coal good has been loaded into the program");
+ add_requirement(FS_48);
+ Requirement FS_61 = Requirement("FS_61",
+ "The icon for the Grain good shall be loaded from the R/art/economy/goods folder with the filename Grain.png",
+ "The icon for the Grain good has been loaded into the program");
+ add_requirement(FS_61);
+ Requirement FS_62 = Requirement("FS_62",
+ "The icon for the Iron good shall be loaded from the R/art/economy/goods folder with the filename Iron.png",
+ "The icon for the Iron good has been loaded into the program");
+ add_requirement(FS_62);
+ Requirement FS_63 = Requirement("FS_63",
+ "The icon for the Liquor good shall be loaded from the R/art/economy/goods folder with the filename Liquor.png",
+ "The icon for the Liquor good has been loaded into the program");
+ add_requirement(FS_63);
+ Requirement FS_67 = Requirement("FS_67",
+ "The icon for the Machine Parts good shall be loaded from the R/art/economy/goods folder with the filename Machine Parts.png",
+ "The icon for the Machine Parts good has been loaded into the program");
+ add_requirement(FS_67);
+ Requirement FS_86 = Requirement("FS_86",
+ "The icon for the Wool good shall be loaded from the R/art/economy/goods folder with the filename Wool.png",
+ "The icon for the Wool good has been loaded into the program");
+ add_requirement(FS_86);
+ Requirement FS_24 = Requirement("FS_24",
+ "All .csv files in the locale folder shall contain translation keys and translations",
+ "No errant files in locale directory");
+ add_requirement(FS_24);
+ Requirement FS_17 = Requirement("FS_17",
+ "List of available locales are loaded from R/localisation/ directory",
+ "Locales loaded correctly");
+ add_requirement(FS_17);
+ Requirement FS_333 = Requirement("FS_333",
+ "The map's provinces shall be defined by unique colours in 'R/map/provinces.bmp'",
+ "The unique colours of 'R/map/provinces.bmp' define provinces");
+ add_requirement(FS_333);
+ Requirement FS_335 = Requirement("FS_335",
+ "Unique province IDs shall be associated with their unique colours in 'R/map/definition.csv'",
+ "'R/map/definition.csv' associates every unique colour used to define a province with a unique ID");
+ add_requirement(FS_335);
+ Requirement FS_334 = Requirement("FS_334",
+ "Water provinces shall be defined by a list of their IDs in 'R/map/default.map'",
+ "'R/map/default.map' contains a list of province IDs which are used to define water provinces");
+ add_requirement(FS_334);
+ Requirement FS_338 = Requirement("FS_338",
+ "The image for the minimap background shall be loaded from the R/art/ui folder with the filename minimap.png",
+ "The image for the minimap background has been loaded into the program");
+ add_requirement(FS_338);
+ Requirement FS_343 = Requirement("FS_343",
+ "The textures making up the cosmetic terrain map shall be loaded from the R/art/terrain folder",
+ "The textures making up the cosmetic terrain map have been loaded into the program");
+ add_requirement(FS_343);
+ Requirement FS_341 = Requirement("FS_341",
+ "State areas shall be defined by lists of province IDs in 'R/map/region.txt'",
+ "'R/map/region.txt' defines state areas with lists of province IDs");
+ add_requirement(FS_341);
+ Requirement SND_10 = Requirement("SND_10",
+ "SFX shall be refered to by their filename, without the extension",
+ "Sound effects are identified by their filename without extension");
+ add_requirement(SND_10);
+ }
+
+ void execute_script() {
+ // FS_44
+ // The icon for the Canned Food good shall be loaded from the R/art/economy/goods folder with the filename Canned Food.png
+ // The icon for the Canned Food good has been loaded into the program
+
+ // TODO: Write test steps for FS_44...
+
+ // FS_48
+ // The icon for the Coal good shall be loaded from the R/art/economy/goods folder with the filename Coal.png
+ // The icon for the Coal good has been loaded into the program
+
+ // TODO: Write test steps for FS_48...
+
+ // FS_61
+ // The icon for the Grain good shall be loaded from the R/art/economy/goods folder with the filename Grain.png
+ // The icon for the Grain good has been loaded into the program
+
+ // TODO: Write test steps for FS_61...
+
+ // FS_62
+ // The icon for the Iron good shall be loaded from the R/art/economy/goods folder with the filename Iron.png
+ // The icon for the Iron good has been loaded into the program
+
+ // TODO: Write test steps for FS_62...
+
+ // FS_63
+ // The icon for the Liquor good shall be loaded from the R/art/economy/goods folder with the filename Liquor.png
+ // The icon for the Liquor good has been loaded into the program
+
+ // TODO: Write test steps for FS_63...
+
+ // FS_67
+ // The icon for the Machine Parts good shall be loaded from the R/art/economy/goods folder with the filename Machine Parts.png
+ // The icon for the Machine Parts good has been loaded into the program
+
+ // TODO: Write test steps for FS_67...
+
+ // FS_86
+ // The icon for the Wool good shall be loaded from the R/art/economy/goods folder with the filename Wool.png
+ // The icon for the Wool good has been loaded into the program
+
+ // TODO: Write test steps for FS_86...
+
+ // FS_24
+ // All .csv files in the locale folder shall contain translation keys and translations
+ // No errant files in locale directory
+
+ // TODO: Write test steps for FS_24...
+
+ // FS_17
+ // List of available locales are loaded from R/localisation/ directory
+ // Locales loaded correctly
+
+ // TODO: Write test steps for FS_17...
+
+ // FS_333
+ // The map's provinces shall be defined by unique colours in 'R/map/provinces.bmp'
+ // The unique colours of 'R/map/provinces.bmp' define provinces
+
+ // TODO: Write test steps for FS_333...
+
+ // FS_335
+ // Unique province IDs shall be associated with their unique colours in 'R/map/definition.csv'
+ // 'R/map/definition.csv' associates every unique colour used to define a province with a unique ID
+
+ // TODO: Write test steps for FS_335...
+
+ // FS_334
+ // Water provinces shall be defined by a list of their IDs in 'R/map/default.map'
+ // 'R/map/default.map' contains a list of province IDs which are used to define water provinces
+
+ // TODO: Write test steps for FS_334...
+
+ // FS_338
+ // The image for the minimap background shall be loaded from the R/art/ui folder with the filename minimap.png
+ // The image for the minimap background has been loaded into the program
+
+ // TODO: Write test steps for FS_338...
+
+ // FS_343
+ // The textures making up the cosmetic terrain map shall be loaded from the R/art/terrain folder
+ // The textures making up the cosmetic terrain map have been loaded into the program
+
+ // TODO: Write test steps for FS_343...
+
+ // FS_341
+ // State areas shall be defined by lists of province IDs in 'R/map/region.txt'
+ // 'R/map/region.txt' defines state areas with lists of province IDs
+
+ // TODO: Write test steps for FS_341...
+
+ // SND_10
+ // SFX shall be refered to by their filename, without the extension
+ // Sound effects are identified by their filename without extension
+
+ // TODO: Write test steps for SND_10...
+
+ }
+ };
+}
diff --git a/src/openvic-simulation/testing/test_scripts/A_002_economy_tests.cpp b/src/openvic-simulation/testing/test_scripts/A_002_economy_tests.cpp
new file mode 100644
index 0000000..adab342
--- /dev/null
+++ b/src/openvic-simulation/testing/test_scripts/A_002_economy_tests.cpp
@@ -0,0 +1,499 @@
+# pragma once
+# include <testing/TestScript.hpp>
+
+namespace OpenVic {
+ class A_002_economy_tests : public TestScript {
+
+ public:
+ A_002_economy_tests() {
+ add_requirements();
+ execute_script();
+ }
+
+ void add_requirements() {
+ Requirement ECON_123 = Requirement("ECON_123",
+ "The base price for Aeroplanes shall be 110",
+ "The base price of 110 for Aeroplanes can be seen in program output data");
+ add_requirement(ECON_123);
+ Requirement ECON_124 = Requirement("ECON_124",
+ "The base price for Ammunition shall be 17.5",
+ "The base price of 17.5 for Ammunition can be seen in program output data");
+ add_requirement(ECON_124);
+ Requirement ECON_125 = Requirement("ECON_125",
+ "The base price for Artillery shall be 60",
+ "The base price of 60 for Artillery can be seen in program output data");
+ add_requirement(ECON_125);
+ Requirement ECON_126 = Requirement("ECON_126",
+ "The base price for Automobiles shall be 70",
+ "The base price of 70 for Automobiles can be seen in program output data");
+ add_requirement(ECON_126);
+ Requirement ECON_127 = Requirement("ECON_127",
+ "The base price for Canned Food shall be 16",
+ "The base price of 16 for Canned Food can be seen in program output data");
+ add_requirement(ECON_127);
+ Requirement ECON_128 = Requirement("ECON_128",
+ "The base price for Cattle shall be 2",
+ "The base price of 2 for Cattle can be seen in program output data");
+ add_requirement(ECON_128);
+ Requirement ECON_129 = Requirement("ECON_129",
+ "The base price for Cement shall be 16",
+ "The base price of 16 for Cement can be seen in program output data");
+ add_requirement(ECON_129);
+ Requirement ECON_130 = Requirement("ECON_130",
+ "The base price for Clipper Convoys shall be 42",
+ "The base price of 42 for Clipper Convoys can be seen in program output data");
+ add_requirement(ECON_130);
+ Requirement ECON_131 = Requirement("ECON_131",
+ "The base price for Coal shall be 2.3",
+ "The base price of 2.3 for Coal can be seen in program output data");
+ add_requirement(ECON_131);
+ Requirement ECON_132 = Requirement("ECON_132",
+ "The base price for Coffee shall be 2.1",
+ "The base price of 2.1 for Coffee can be seen in program output data");
+ add_requirement(ECON_132);
+ Requirement ECON_133 = Requirement("ECON_133",
+ "The base price for Cotton shall be 2",
+ "The base price of 2 for Cotton can be seen in program output data");
+ add_requirement(ECON_133);
+ Requirement ECON_134 = Requirement("ECON_134",
+ "The base price for Dye shall be 12",
+ "The base price of 12 for Dye can be seen in program output data");
+ add_requirement(ECON_134);
+ Requirement ECON_135 = Requirement("ECON_135",
+ "The base price for Electric Gear shall be 16",
+ "The base price of 16 for Electric Gear can be seen in program output data");
+ add_requirement(ECON_135);
+ Requirement ECON_136 = Requirement("ECON_136",
+ "The base price for Explosives shall be 20",
+ "The base price of 20 for Explosives can be seen in program output data");
+ add_requirement(ECON_136);
+ Requirement ECON_137 = Requirement("ECON_137",
+ "The base price for Fabric shall be 1.8",
+ "The base price of 1.8 for Fabric can be seen in program output data");
+ add_requirement(ECON_137);
+ Requirement ECON_138 = Requirement("ECON_138",
+ "The base price for Fertilizer shall be 10",
+ "The base price of 10 for Fertilizer can be seen in program output data");
+ add_requirement(ECON_138);
+ Requirement ECON_139 = Requirement("ECON_139",
+ "The base price for Fish shall be 1.5",
+ "The base price of 1.5 for Fish can be seen in program output data");
+ add_requirement(ECON_139);
+ Requirement ECON_140 = Requirement("ECON_140",
+ "The base price for Fruit shall be 1.8",
+ "The base price of 1.8 for Fruit can be seen in program output data");
+ add_requirement(ECON_140);
+ Requirement ECON_141 = Requirement("ECON_141",
+ "The base price for Fuel shall be 25",
+ "The base price of 25 for Fuel can be seen in program output data");
+ add_requirement(ECON_141);
+ Requirement ECON_142 = Requirement("ECON_142",
+ "The base price for Furniture shall be 4.9",
+ "The base price of 4.9 for Furniture can be seen in program output data");
+ add_requirement(ECON_142);
+ Requirement ECON_234 = Requirement("ECON_234",
+ "The base price for Glass shall be 2.9",
+ "The base price of 2.9 for Glass can be seen in program output data");
+ add_requirement(ECON_234);
+ Requirement ECON_235 = Requirement("ECON_235",
+ "The base price for Grain shall be 2.2",
+ "The base price of 2.2 for Grain can be seen in program output data");
+ add_requirement(ECON_235);
+ Requirement ECON_236 = Requirement("ECON_236",
+ "The base price for Iron shall be 3.5",
+ "The base price of 3.5 for Iron can be seen in program output data");
+ add_requirement(ECON_236);
+ Requirement ECON_237 = Requirement("ECON_237",
+ "The base price for Liquor shall be 6.4",
+ "The base price of 6.4 for Liquor can be seen in program output data");
+ add_requirement(ECON_237);
+ Requirement ECON_238 = Requirement("ECON_238",
+ "The base price for Lumber shall be 1",
+ "The base price of 1 for Lumber can be seen in program output data");
+ add_requirement(ECON_238);
+ Requirement ECON_239 = Requirement("ECON_239",
+ "The base price for Luxury Clothes shall be 65",
+ "The base price of 65 for Luxury Clothes can be seen in program output data");
+ add_requirement(ECON_239);
+ Requirement ECON_240 = Requirement("ECON_240",
+ "The base price for Luxury Furniture shall be 59",
+ "The base price of 59 for Luxury Furniture can be seen in program output data");
+ add_requirement(ECON_240);
+ Requirement ECON_241 = Requirement("ECON_241",
+ "The base price for Machine Parts shall be 36.5",
+ "The base price of 36.5 for Machine Parts can be seen in program output data");
+ add_requirement(ECON_241);
+ Requirement ECON_242 = Requirement("ECON_242",
+ "The base price for Oil shall be 12",
+ "The base price of 12 for Oil can be seen in program output data");
+ add_requirement(ECON_242);
+ Requirement ECON_243 = Requirement("ECON_243",
+ "The base price for Opium shall be 3.2",
+ "The base price of 3.2 for Opium can be seen in program output data");
+ add_requirement(ECON_243);
+ Requirement ECON_244 = Requirement("ECON_244",
+ "The base price for Paper shall be 3.4",
+ "The base price of 3.4 for Paper can be seen in program output data");
+ add_requirement(ECON_244);
+ Requirement ECON_245 = Requirement("ECON_245",
+ "The base price for Precious Metal shall be 8",
+ "The base price of 8 for Precious Metal can be seen in program output data");
+ add_requirement(ECON_245);
+ Requirement ECON_246 = Requirement("ECON_246",
+ "The base price for Radios shall be 16",
+ "The base price of 16 for Radios can be seen in program output data");
+ add_requirement(ECON_246);
+ Requirement ECON_247 = Requirement("ECON_247",
+ "The base price for Regular Clothes shall be 5.8",
+ "The base price of 5.8 for Regular Clothes can be seen in program output data");
+ add_requirement(ECON_247);
+ Requirement ECON_248 = Requirement("ECON_248",
+ "The base price for Rubber shall be 7",
+ "The base price of 7 for Rubber can be seen in program output data");
+ add_requirement(ECON_248);
+ Requirement ECON_249 = Requirement("ECON_249",
+ "The base price for Silk shall be 10",
+ "The base price of 10 for Silk can be seen in program output data");
+ add_requirement(ECON_249);
+ Requirement ECON_250 = Requirement("ECON_250",
+ "The base price for Small Arms shall be 37",
+ "The base price of 37 for Small Arms can be seen in program output data");
+ add_requirement(ECON_250);
+ Requirement ECON_251 = Requirement("ECON_251",
+ "The base price for Steamer Convoys shall be 65",
+ "The base price of 65 for Steamer Convoys can be seen in program output data");
+ add_requirement(ECON_251);
+ Requirement ECON_252 = Requirement("ECON_252",
+ "The base price for Steel shall be 4.7",
+ "The base price of 4.7 for Steel can be seen in program output data");
+ add_requirement(ECON_252);
+ Requirement ECON_253 = Requirement("ECON_253",
+ "The base price for Sulphur shall be 6",
+ "The base price of 6 for Sulphur can be seen in program output data");
+ add_requirement(ECON_253);
+ Requirement ECON_254 = Requirement("ECON_254",
+ "The base price for Tanks shall be 98",
+ "The base price of 98 for Tanks can be seen in program output data");
+ add_requirement(ECON_254);
+ Requirement ECON_255 = Requirement("ECON_255",
+ "The base price for Tea shall be 2.6",
+ "The base price of 2.6 for Tea can be seen in program output data");
+ add_requirement(ECON_255);
+ Requirement ECON_256 = Requirement("ECON_256",
+ "The base price for Telephones shall be 16",
+ "The base price of 16 for Telephones can be seen in program output data");
+ add_requirement(ECON_256);
+ Requirement ECON_257 = Requirement("ECON_257",
+ "The base price for Timber shall be 0.9",
+ "The base price of 0.9 for Timber can be seen in program output data");
+ add_requirement(ECON_257);
+ Requirement ECON_258 = Requirement("ECON_258",
+ "The base price for Tobacco shall be 1.1",
+ "The base price of 1.1 for Tobacco can be seen in program output data");
+ add_requirement(ECON_258);
+ Requirement ECON_259 = Requirement("ECON_259",
+ "The base price for Tropical Wood shall be 5.4",
+ "The base price of 5.4 for Tropical Wood can be seen in program output data");
+ add_requirement(ECON_259);
+ Requirement ECON_260 = Requirement("ECON_260",
+ "The base price for Wine shall be 9.7",
+ "The base price of 9.7 for Wine can be seen in program output data");
+ add_requirement(ECON_260);
+ Requirement ECON_261 = Requirement("ECON_261",
+ "The base price for Wool shall be 0.7",
+ "The base price of 0.7 for Wool can be seen in program output data");
+ add_requirement(ECON_261);
+ }
+
+ void execute_script() {
+ // ECON_123
+ // The base price for Aeroplanes shall be 110
+ // The base price of 110 for Aeroplanes can be seen in program output data
+
+ // TODO: Write test steps for ECON_123...
+
+ // ECON_124
+ // The base price for Ammunition shall be 17.5
+ // The base price of 17.5 for Ammunition can be seen in program output data
+
+ // TODO: Write test steps for ECON_124...
+
+ // ECON_125
+ // The base price for Artillery shall be 60
+ // The base price of 60 for Artillery can be seen in program output data
+
+ // TODO: Write test steps for ECON_125...
+
+ // ECON_126
+ // The base price for Automobiles shall be 70
+ // The base price of 70 for Automobiles can be seen in program output data
+
+ // TODO: Write test steps for ECON_126...
+
+ // ECON_127
+ // The base price for Canned Food shall be 16
+ // The base price of 16 for Canned Food can be seen in program output data
+
+ // TODO: Write test steps for ECON_127...
+
+ // ECON_128
+ // The base price for Cattle shall be 2
+ // The base price of 2 for Cattle can be seen in program output data
+
+ // TODO: Write test steps for ECON_128...
+
+ // ECON_129
+ // The base price for Cement shall be 16
+ // The base price of 16 for Cement can be seen in program output data
+
+ // TODO: Write test steps for ECON_129...
+
+ // ECON_130
+ // The base price for Clipper Convoys shall be 42
+ // The base price of 42 for Clipper Convoys can be seen in program output data
+
+ // TODO: Write test steps for ECON_130...
+
+ // ECON_131
+ // The base price for Coal shall be 2.3
+ // The base price of 2.3 for Coal can be seen in program output data
+
+ // TODO: Write test steps for ECON_131...
+
+ // ECON_132
+ // The base price for Coffee shall be 2.1
+ // The base price of 2.1 for Coffee can be seen in program output data
+
+ // TODO: Write test steps for ECON_132...
+
+ // ECON_133
+ // The base price for Cotton shall be 2
+ // The base price of 2 for Cotton can be seen in program output data
+
+ // TODO: Write test steps for ECON_133...
+
+ // ECON_134
+ // The base price for Dye shall be 12
+ // The base price of 12 for Dye can be seen in program output data
+
+ // TODO: Write test steps for ECON_134...
+
+ // ECON_135
+ // The base price for Electric Gear shall be 16
+ // The base price of 16 for Electric Gear can be seen in program output data
+
+ // TODO: Write test steps for ECON_135...
+
+ // ECON_136
+ // The base price for Explosives shall be 20
+ // The base price of 20 for Explosives can be seen in program output data
+
+ // TODO: Write test steps for ECON_136...
+
+ // ECON_137
+ // The base price for Fabric shall be 1.8
+ // The base price of 1.8 for Fabric can be seen in program output data
+
+ // TODO: Write test steps for ECON_137...
+
+ // ECON_138
+ // The base price for Fertilizer shall be 10
+ // The base price of 10 for Fertilizer can be seen in program output data
+
+ // TODO: Write test steps for ECON_138...
+
+ // ECON_139
+ // The base price for Fish shall be 1.5
+ // The base price of 1.5 for Fish can be seen in program output data
+
+ // TODO: Write test steps for ECON_139...
+
+ // ECON_140
+ // The base price for Fruit shall be 1.8
+ // The base price of 1.8 for Fruit can be seen in program output data
+
+ // TODO: Write test steps for ECON_140...
+
+ // ECON_141
+ // The base price for Fuel shall be 25
+ // The base price of 25 for Fuel can be seen in program output data
+
+ // TODO: Write test steps for ECON_141...
+
+ // ECON_142
+ // The base price for Furniture shall be 4.9
+ // The base price of 4.9 for Furniture can be seen in program output data
+
+ // TODO: Write test steps for ECON_142...
+
+ // ECON_234
+ // The base price for Glass shall be 2.9
+ // The base price of 2.9 for Glass can be seen in program output data
+
+ // TODO: Write test steps for ECON_234...
+
+ // ECON_235
+ // The base price for Grain shall be 2.2
+ // The base price of 2.2 for Grain can be seen in program output data
+
+ // TODO: Write test steps for ECON_235...
+
+ // ECON_236
+ // The base price for Iron shall be 3.5
+ // The base price of 3.5 for Iron can be seen in program output data
+
+ // TODO: Write test steps for ECON_236...
+
+ // ECON_237
+ // The base price for Liquor shall be 6.4
+ // The base price of 6.4 for Liquor can be seen in program output data
+
+ // TODO: Write test steps for ECON_237...
+
+ // ECON_238
+ // The base price for Lumber shall be 1
+ // The base price of 1 for Lumber can be seen in program output data
+
+ // TODO: Write test steps for ECON_238...
+
+ // ECON_239
+ // The base price for Luxury Clothes shall be 65
+ // The base price of 65 for Luxury Clothes can be seen in program output data
+
+ // TODO: Write test steps for ECON_239...
+
+ // ECON_240
+ // The base price for Luxury Furniture shall be 59
+ // The base price of 59 for Luxury Furniture can be seen in program output data
+
+ // TODO: Write test steps for ECON_240...
+
+ // ECON_241
+ // The base price for Machine Parts shall be 36.5
+ // The base price of 36.5 for Machine Parts can be seen in program output data
+
+ // TODO: Write test steps for ECON_241...
+
+ // ECON_242
+ // The base price for Oil shall be 12
+ // The base price of 12 for Oil can be seen in program output data
+
+ // TODO: Write test steps for ECON_242...
+
+ // ECON_243
+ // The base price for Opium shall be 3.2
+ // The base price of 3.2 for Opium can be seen in program output data
+
+ // TODO: Write test steps for ECON_243...
+
+ // ECON_244
+ // The base price for Paper shall be 3.4
+ // The base price of 3.4 for Paper can be seen in program output data
+
+ // TODO: Write test steps for ECON_244...
+
+ // ECON_245
+ // The base price for Precious Metal shall be 8
+ // The base price of 8 for Precious Metal can be seen in program output data
+
+ // TODO: Write test steps for ECON_245...
+
+ // ECON_246
+ // The base price for Radios shall be 16
+ // The base price of 16 for Radios can be seen in program output data
+
+ // TODO: Write test steps for ECON_246...
+
+ // ECON_247
+ // The base price for Regular Clothes shall be 5.8
+ // The base price of 5.8 for Regular Clothes can be seen in program output data
+
+ // TODO: Write test steps for ECON_247...
+
+ // ECON_248
+ // The base price for Rubber shall be 7
+ // The base price of 7 for Rubber can be seen in program output data
+
+ // TODO: Write test steps for ECON_248...
+
+ // ECON_249
+ // The base price for Silk shall be 10
+ // The base price of 10 for Silk can be seen in program output data
+
+ // TODO: Write test steps for ECON_249...
+
+ // ECON_250
+ // The base price for Small Arms shall be 37
+ // The base price of 37 for Small Arms can be seen in program output data
+
+ // TODO: Write test steps for ECON_250...
+
+ // ECON_251
+ // The base price for Steamer Convoys shall be 65
+ // The base price of 65 for Steamer Convoys can be seen in program output data
+
+ // TODO: Write test steps for ECON_251...
+
+ // ECON_252
+ // The base price for Steel shall be 4.7
+ // The base price of 4.7 for Steel can be seen in program output data
+
+ // TODO: Write test steps for ECON_252...
+
+ // ECON_253
+ // The base price for Sulphur shall be 6
+ // The base price of 6 for Sulphur can be seen in program output data
+
+ // TODO: Write test steps for ECON_253...
+
+ // ECON_254
+ // The base price for Tanks shall be 98
+ // The base price of 98 for Tanks can be seen in program output data
+
+ // TODO: Write test steps for ECON_254...
+
+ // ECON_255
+ // The base price for Tea shall be 2.6
+ // The base price of 2.6 for Tea can be seen in program output data
+
+ // TODO: Write test steps for ECON_255...
+
+ // ECON_256
+ // The base price for Telephones shall be 16
+ // The base price of 16 for Telephones can be seen in program output data
+
+ // TODO: Write test steps for ECON_256...
+
+ // ECON_257
+ // The base price for Timber shall be 0.9
+ // The base price of 0.9 for Timber can be seen in program output data
+
+ // TODO: Write test steps for ECON_257...
+
+ // ECON_258
+ // The base price for Tobacco shall be 1.1
+ // The base price of 1.1 for Tobacco can be seen in program output data
+
+ // TODO: Write test steps for ECON_258...
+
+ // ECON_259
+ // The base price for Tropical Wood shall be 5.4
+ // The base price of 5.4 for Tropical Wood can be seen in program output data
+
+ // TODO: Write test steps for ECON_259...
+
+ // ECON_260
+ // The base price for Wine shall be 9.7
+ // The base price of 9.7 for Wine can be seen in program output data
+
+ // TODO: Write test steps for ECON_260...
+
+ // ECON_261
+ // The base price for Wool shall be 0.7
+ // The base price of 0.7 for Wool can be seen in program output data
+
+ // TODO: Write test steps for ECON_261...
+
+ }
+ };
+}
diff --git a/src/openvic-simulation/testing/test_scripts/A_003_military_unit_tests.cpp b/src/openvic-simulation/testing/test_scripts/A_003_military_unit_tests.cpp
new file mode 100644
index 0000000..042e94b
--- /dev/null
+++ b/src/openvic-simulation/testing/test_scripts/A_003_military_unit_tests.cpp
@@ -0,0 +1,19 @@
+# pragma once
+# include <testing/TestScript.hpp>
+
+namespace OpenVic {
+ class A_003_military_unit_tests : public TestScript {
+
+ public:
+ A_003_military_unit_tests() {
+ add_requirements();
+ execute_script();
+ }
+
+ void add_requirements() {
+ }
+
+ void execute_script() {
+ }
+ };
+}
diff --git a/src/openvic-simulation/testing/test_scripts/A_004_networking_tests.cpp b/src/openvic-simulation/testing/test_scripts/A_004_networking_tests.cpp
new file mode 100644
index 0000000..926d9b4
--- /dev/null
+++ b/src/openvic-simulation/testing/test_scripts/A_004_networking_tests.cpp
@@ -0,0 +1,19 @@
+# pragma once
+# include <testing/TestScript.hpp>
+
+namespace OpenVic {
+ class A_004_networking_tests : public TestScript {
+
+ public:
+ A_004_networking_tests() {
+ add_requirements();
+ execute_script();
+ }
+
+ void add_requirements() {
+ }
+
+ void execute_script() {
+ }
+ };
+}
diff --git a/src/openvic-simulation/testing/test_scripts/A_005_nation_tests.cpp b/src/openvic-simulation/testing/test_scripts/A_005_nation_tests.cpp
new file mode 100644
index 0000000..027f1bc
--- /dev/null
+++ b/src/openvic-simulation/testing/test_scripts/A_005_nation_tests.cpp
@@ -0,0 +1,19 @@
+# pragma once
+# include <testing/TestScript.hpp>
+
+namespace OpenVic {
+ class A_005_nation_tests : public TestScript {
+
+ public:
+ A_005_nation_tests() {
+ add_requirements();
+ execute_script();
+ }
+
+ void add_requirements() {
+ }
+
+ void execute_script() {
+ }
+ };
+}
diff --git a/src/openvic-simulation/testing/test_scripts/A_006_politics_tests.cpp b/src/openvic-simulation/testing/test_scripts/A_006_politics_tests.cpp
new file mode 100644
index 0000000..c35a827
--- /dev/null
+++ b/src/openvic-simulation/testing/test_scripts/A_006_politics_tests.cpp
@@ -0,0 +1,19 @@
+# pragma once
+# include <testing/TestScript.hpp>
+
+namespace OpenVic {
+ class A_006_politics_tests : public TestScript {
+
+ public:
+ A_006_politics_tests() {
+ add_requirements();
+ execute_script();
+ }
+
+ void add_requirements() {
+ }
+
+ void execute_script() {
+ }
+ };
+}