aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/testing/TestScript.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/openvic-simulation/testing/TestScript.hpp')
-rw-r--r--src/openvic-simulation/testing/TestScript.hpp30
1 files changed, 30 insertions, 0 deletions
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);
+ };
+}