roadrunner  2.6.0
Fast simulator for SBML models
rrTestSuiteModelSimulation.h
1 #ifndef rrSBMLTestSuiteModelSimulationH
2 #define rrSBMLTestSuiteModelSimulationH
3 //---------------------------------------------------------------------------
4 #include <string>
5 #include "rrSBMLModelSimulation.h"
6 #include "rrStringUtils.h"
7 #include "rrRoadRunnerOptions.h"
8 #include "rrRoadRunnerData.h"
9 
10 namespace rr
11 {
12 
16 class RR_DECLSPEC TestSuiteModelSimulation : public SBMLModelSimulation
17 {
18  protected:
19  int mCurrentCaseNumber; //If simulating test suite cases.
20  std::string mIntegratorName; //If simulating test sutie cases.
21  std::filesystem::path mModelSettingsFileName;
22  RoadRunnerData mResultData;
23  RoadRunnerData mReferenceData;
24  RoadRunnerData mErrorData;
25  std::filesystem::path GetSettingsFileNameForCase(int sim_case);
26  std::filesystem::path GetReferenceDataFileNameForCase(int caseNr);
27  int mNrOfFailingPoints;
28  double mLargestError;
29 
30  public:
31  explicit TestSuiteModelSimulation(const std::filesystem::path& dataOutputFolder = "", const std::filesystem::path& modelFilePath = "", const std::filesystem::path& modelFileName = "");
32  ~TestSuiteModelSimulation() override;
33  void SetCaseNumber(int cNr);
34  void SetIntegrator(std::string integrator);
35  bool LoadReferenceData(std::filesystem::path refDataFileName = "");
36  bool CreateErrorData();
37  bool SaveAllData();
38  bool CopyFilesToOutputFolder();
39  double LargestError();
40  bool Pass();
41  int NrOfFailingPoints();
42  bool LoadSettings(const std::filesystem::path& fName = "") override;
43  virtual bool LoadSettingsEx(const std::filesystem::path& settingsFName);
44 };
46 }
47 
48 
49 
50 #endif