From e2ca7c402140b0f2b9aacec47ee45eddd80a339d Mon Sep 17 00:00:00 2001 From: LolloBici <lorenzo.amici@skywarder.eu> Date: Wed, 11 Jun 2025 11:39:32 +0200 Subject: [PATCH] [unit-test-updates] Added Setup and Teardown methods and fixed HRE test --- .../testSimulator/HRE/referenceState_HRE.mat | 4 +- .../ballistic/referenceState_ballistic.mat | 4 +- .../engineCut/referenceState_engineCut.mat | 4 +- .../multipleAB/referenceState_multipleAB.mat | 4 +- .../solid/referenceState_solid.mat | 4 +- unitTests/tests/TestSimulator.m | 74 ++++++++++--------- 6 files changed, 50 insertions(+), 44 deletions(-) diff --git a/unitTests/data/testSimulator/HRE/referenceState_HRE.mat b/unitTests/data/testSimulator/HRE/referenceState_HRE.mat index 2322be59..3ff707f4 100644 --- a/unitTests/data/testSimulator/HRE/referenceState_HRE.mat +++ b/unitTests/data/testSimulator/HRE/referenceState_HRE.mat @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b59a1ce9094c77e8b49372d2b7506618553c36ab066f54016de7bd1d427c58a5 -size 81007984 +oid sha256:0467b74a556ebf31ae1175c70f3544aa2445c7d96036e06e91503651fa69312b +size 80937255 diff --git a/unitTests/data/testSimulator/ballistic/referenceState_ballistic.mat b/unitTests/data/testSimulator/ballistic/referenceState_ballistic.mat index a16d4002..6a7447b5 100644 --- a/unitTests/data/testSimulator/ballistic/referenceState_ballistic.mat +++ b/unitTests/data/testSimulator/ballistic/referenceState_ballistic.mat @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:da148d37baf11593053b5c4de858b92b2418caa024b77796a43dbb449b9c695e -size 80282383 +oid sha256:8f9ed6b470f14e519542f06adaeae08a698c3d05db66ca22c28ebe2b37f9a79c +size 80258344 diff --git a/unitTests/data/testSimulator/engineCut/referenceState_engineCut.mat b/unitTests/data/testSimulator/engineCut/referenceState_engineCut.mat index 082b671a..b65d4ff5 100644 --- a/unitTests/data/testSimulator/engineCut/referenceState_engineCut.mat +++ b/unitTests/data/testSimulator/engineCut/referenceState_engineCut.mat @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d73735a073e896c78191d5f45798181d28fbb8b51e6b9d79def178803ac2bb0e -size 80930900 +oid sha256:7121f30f477becacda5bcc92e9e9868ad3f1c9a02fdad5fcc1f2c8ca0466e608 +size 80973706 diff --git a/unitTests/data/testSimulator/multipleAB/referenceState_multipleAB.mat b/unitTests/data/testSimulator/multipleAB/referenceState_multipleAB.mat index b8a3fa07..126547f9 100644 --- a/unitTests/data/testSimulator/multipleAB/referenceState_multipleAB.mat +++ b/unitTests/data/testSimulator/multipleAB/referenceState_multipleAB.mat @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:338e3960adae4e04ef9eee7a56b399674b27f23115dd1bcd914ac33c76a3f7b1 -size 80876038 +oid sha256:35fe398dc348a018eeb1d15d489d935aa7f4387dd31a8d933bff85c2f0af3820 +size 80900181 diff --git a/unitTests/data/testSimulator/solid/referenceState_solid.mat b/unitTests/data/testSimulator/solid/referenceState_solid.mat index 984ec936..e70ea65c 100644 --- a/unitTests/data/testSimulator/solid/referenceState_solid.mat +++ b/unitTests/data/testSimulator/solid/referenceState_solid.mat @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69a49aeddfad717fb4849a369866d1a3b782472568cfdbdf850d45a23df70ad7 -size 80976751 +oid sha256:eb8af06e30dbe69ad92b0fa84a186ea73605f6cb52939a34e612bdcfd83d5594 +size 80978018 diff --git a/unitTests/tests/TestSimulator.m b/unitTests/tests/TestSimulator.m index 5b80c568..f4ad54ad 100644 --- a/unitTests/tests/TestSimulator.m +++ b/unitTests/tests/TestSimulator.m @@ -7,12 +7,16 @@ classdef TestSimulator < UnitTest refSimulator end - properties (TestParameter) + properties (MethodSetupParameter) verifiable = {'multipleAB', 'ballistic', 'engineCut', 'solid', 'HRE'}; end - methods - function createTest(testCase, verifiable) + % properties (TestParameter) + % verifiable = {'multipleAB', 'ballistic', 'engineCut', 'solid', 'HRE'}; + % end + + methods (TestMethodSetup) + function setup(testCase, verifiable) currentPath = fileparts(mfilename('fullpath')); addpath(genpath(currentPath)); @@ -34,27 +38,25 @@ classdef TestSimulator < UnitTest end end + methods (TestMethodTeardown) + function teardown(testCase) + close all + end + end + methods (Test) function mainSimulatorTest(testCase, verifiable) - testCase.createTest(verifiable); + % testCase.createTest(verifiable); - verifiable %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - mainSimPath = fullfile('..', '..', 'simulator'); addpath(genpath(mainSimPath)); - testCase.rocket.airbrakes.enabled %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % Run main simulator [postp.stateA, postp.stateF] = mainSimulator(testCase.rocket, testCase.wind, testCase.environment, testCase.simulatorSettings); - max(abs(postp.stateA.state.Y(3,:))) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % Verify results - testCase.verifyEqual(postp, testCase.refSimulator, 'AbsTol', testCase.absToll, 'RelTol', testCase.relToll); - - clear all, close all + testCase.verifyEqual(postp, testCase.refSimulator); end end @@ -66,36 +68,43 @@ classdef TestSimulator < UnitTest currentPath = fileparts(mfilename('fullpath')); addpath(genpath(currentPath)); - % simPath = fullfile(fileparts(mfilename('fullpath')), '..', '..', 'simulator', 'simulatorConfig.m'); - % odePath = fullfile(fileparts(mfilename('fullpath')), '..', '..', 'common', 'settings', 'odeConfig.m'); - % simulatorSettings = Settings(simPath, odePath); + simPath = fullfile(fileparts(mfilename('fullpath')), '..', '..', 'simulator', 'simulatorConfig.m'); + odePath = fullfile(fileparts(mfilename('fullpath')), '..', '..', 'common', 'settings', 'odeConfig.m'); + simulatorSettings = Settings(simPath, odePath); - simulatorSettings = Settings('ode'); - - simConfigPath = fullfile(currentPath, '..', '..', 'simulator', 'simulatorConfig.m'); - - run(simConfigPath); + % simulatorSettings = Settings('ode'); + % simConfigPath = fullfile(currentPath, '..', '..', 'simulator', 'simulatorConfig.m'); + % run(simConfigPath); if strcmp(verifiable, 'ballistic') - simulator.ballistic = 1; - simulator.parafoil = 0; + simulatorSettings.simulator.ballistic = 1; + simulatorSettings.simulator.parafoil = 0; end - simulator.SMonly = 0; - simulator.prints = 0; - simulator.plots = 0; - simulator.landingMap = 0; - simulator.satellite3D = 0; + + simulatorSettings.simulator.unitTest = 1; - simulatorSettings.addprop('simulator'); - simulatorSettings.simulator = simulator; + % simulatorSettings.addprop('simulator'); + % simulatorSettings.simulator = simulator; rocket = Rocket(mission); environment = Environment(mission, rocket.motor); wind = Wind(mission); - + + if verifiable == "HRE" + mission = Mission("2024_Lyra_Portugal_October"); + end + + % if verifiable == "solid" + % mission = Mission("2023_Pyxis_Portugal_October"); + % end + if verifiable == "multipleAB" rocket.airbrakes.enabled = 1; end + + % if verifiable == "engineCut" + % rocket.motor.cutOffTime = ; + % end % simulator [stateA, stateF, simulatorSettings] = mainSimulator(rocket, wind, environment, simulatorSettings); @@ -114,9 +123,6 @@ classdef TestSimulator < UnitTest Time = toc(Time); fprintf('\t %s test created in: %2.2f seconds\n',verifiable, Time) - - clear all, close all end end - end -- GitLab