From 28c767a151c42ef16ca0129c74b66af3be78fa84 Mon Sep 17 00:00:00 2001
From: Lorenzo Bettonte <lorenzo.bettonte@skywarder.edu>
Date: Sun, 8 Jun 2025 19:38:59 +0200
Subject: [PATCH] transformed mainUnitTest from a script to a function with the
 ability to set input options

---
 .../{configUnitTest.m => UnitTestConfig.m}    |  2 +-
 unitTests/mainUnitTest.m                      | 36 +++++++++++++++----
 2 files changed, 30 insertions(+), 8 deletions(-)
 rename unitTests/{configUnitTest.m => UnitTestConfig.m} (94%)

diff --git a/unitTests/configUnitTest.m b/unitTests/UnitTestConfig.m
similarity index 94%
rename from unitTests/configUnitTest.m
rename to unitTests/UnitTestConfig.m
index 7df49312..fc571fa7 100644
--- a/unitTests/configUnitTest.m
+++ b/unitTests/UnitTestConfig.m
@@ -5,7 +5,7 @@ mission = Mission(true);
 
 %% UNIT TESTS TO RUN
 % choose which folders to test
-opt.testSimulator = true;
+opt.testSimulator = false;
 % opt.testCommonFunction = true;
 opt.testApogeeAnalysis = false;
 opt.testOptimization = false;
diff --git a/unitTests/mainUnitTest.m b/unitTests/mainUnitTest.m
index d8cbd73c..9e85c331 100644
--- a/unitTests/mainUnitTest.m
+++ b/unitTests/mainUnitTest.m
@@ -1,9 +1,24 @@
+function [apoResults, optResults,sensResults,simResults] = mainUnitTest(absToll,relToll,options)
+arguments
+    absToll = [];
+    relToll = [];
+    options.testApogeeAnalysis logical = [];
+    options.testOptimization logical = [];
+    options.testSensitivity logical = [];
+    options.testSimulator logical = [];
+    
+
+
+end
+%% PATH
 % main unit-test
 
 currentPath = fileparts(mfilename('fullpath'));
 addpath(genpath(fullfile(currentPath, '..')));
+%% LOAD OPTIONS
 
-configUnitTest;
+settings = Settings('UnitTest');
+if ~isempty(options), Settings.read(settings, options, 'opt'); end
 
 %% TESTS
 beginTest = tic;
@@ -14,28 +29,35 @@ beginTest = tic;
 %     disp(testcmnfnctResults);
 % end
 
-if opt.testApogeeAnalysis
+if settings.opt.testApogeeAnalysis
     test = TestApogeeAnalysis();
+
     apoResults = run(test);
     disp(apoResults);
 end
 
-if opt.testOptimization
+if settings.opt.testOptimization
     test = TestOptimization();
     optResults = run(test);
     disp(optResults);
 end
 
-if opt.testSensitivity 
+if settings.opt.testSensitivity 
     test = TestSensitivity();
     sensResults = run(test);
     disp(sensResults);
 end
 
-if opt.testSimulator
+if settings.opt.testSimulator
     test = TestSimulator();
+    
+    if ~isempty(absToll), test.absToll = absToll; end
+    if ~isempty(relToll), test.relToll = relToll; end
+    
     simResults = run(test);
-    disp(simResults);    
+    disp(simResults);
 end
 
-toc(beginTest)
\ No newline at end of file
+toc(beginTest)
+
+end
\ No newline at end of file
-- 
GitLab