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/TestScript.hpp | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/openvic-simulation/testing/TestScript.hpp (limited to 'src/openvic-simulation/testing/TestScript.hpp') 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); + }; +} -- cgit v1.2.3-56-ga3b1