From 005a8026bb424779a146e00cc48621ff1d72b807 Mon Sep 17 00:00:00 2001 From: CptAlanSmith <123112708+CptAlanSmith@users.noreply.github.com> Date: Sat, 23 Sep 2023 19:25:15 +0100 Subject: Testing (#23) * Fixes for building scons * Initial proof of concept auto-testing Shows how we can pull loaded data and display it back * 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 * Use new accessors + int reading fix --------- Co-authored-by: Hop311 --- src/openvic-simulation/testing/Requirement.cpp | 15 + src/openvic-simulation/testing/Requirement.hpp | 33 ++ src/openvic-simulation/testing/TestScript.cpp | 31 ++ src/openvic-simulation/testing/TestScript.hpp | 30 ++ src/openvic-simulation/testing/Testing.cpp | 43 ++ src/openvic-simulation/testing/Testing.hpp | 44 ++ .../testing/test_scripts/A_001_file_tests.cpp | 179 ++++++++ .../testing/test_scripts/A_002_economy_tests.cpp | 499 +++++++++++++++++++++ .../test_scripts/A_003_military_unit_tests.cpp | 19 + .../test_scripts/A_004_networking_tests.cpp | 19 + .../testing/test_scripts/A_005_nation_tests.cpp | 19 + .../testing/test_scripts/A_006_politics_tests.cpp | 19 + 12 files changed, 950 insertions(+) create mode 100644 src/openvic-simulation/testing/Requirement.cpp create mode 100644 src/openvic-simulation/testing/Requirement.hpp create mode 100644 src/openvic-simulation/testing/TestScript.cpp create mode 100644 src/openvic-simulation/testing/TestScript.hpp create mode 100644 src/openvic-simulation/testing/Testing.cpp create mode 100644 src/openvic-simulation/testing/Testing.hpp create mode 100644 src/openvic-simulation/testing/test_scripts/A_001_file_tests.cpp create mode 100644 src/openvic-simulation/testing/test_scripts/A_002_economy_tests.cpp create mode 100644 src/openvic-simulation/testing/test_scripts/A_003_military_unit_tests.cpp create mode 100644 src/openvic-simulation/testing/test_scripts/A_004_networking_tests.cpp create mode 100644 src/openvic-simulation/testing/test_scripts/A_005_nation_tests.cpp create mode 100644 src/openvic-simulation/testing/test_scripts/A_006_politics_tests.cpp (limited to 'src/openvic-simulation/testing') 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 + +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 + +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 + +using namespace OpenVic; + +// Getters +std::vector 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 TestScript::get_passed_requirements() { + std::vector passed_requirements = std::vector(); + for (int i = 0; i < requirements.size(); i++) { + if (requirements[i].get_pass()) passed_requirements.push_back(requirements[i]); + } + return passed_requirements; +} +std::vector TestScript::get_failed_requirements() { + std::vector failed_requirements = std::vector(); + 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 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 +#include + +namespace OpenVic { + + class TestScript { + + std::vector requirements = std::vector(); + + 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 get_requirements(); + Requirement get_requirement_at_index(int index); + Requirement get_requirement_by_id(std::string id); + std::vector get_passed_requirements(); + std::vector get_failed_requirements(); + + // Setters + void set_requirements(std::vector 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 +#include + +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 +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +namespace OpenVic { + + class Testing { + + public: + GameManager& game_manager; + Map& map; + BuildingManager& building_manager; + GoodManager& good_manager; + PopManager& pop_manager; + GameAdvancementHook& clock; + + std::vector test_scripts = std::vector(); + + //// 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 + +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 + +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 + +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 + +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 + +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 + +namespace OpenVic { + class A_006_politics_tests : public TestScript { + + public: + A_006_politics_tests() { + add_requirements(); + execute_script(); + } + + void add_requirements() { + } + + void execute_script() { + } + }; +} -- cgit v1.2.3-56-ga3b1