API
 
Loading...
Searching...
No Matches

Unit tests for the modalGainOpt application. More...

Collaboration diagram for modalGainOpt Unit Tests:

Namespaces

namespace  libXWCTest::modalGainOptTest
 Namespace for modalGainOpt unit tests.
 

Functions

 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt placeholder harness instantiates the app", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt configuration loads PSD-processing settings without " "toggling autoUpdate", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt published gain arrays keep LP and max LP outputs distinct", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt published gain arrays apply calibration scaling", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt counts enabled gain-factor modes using positive entries", "[modalGainOpt]")
 Verify modalGainOpt counts enabled modes from positive gain factors.
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt gain-factor updates leave state unchanged when the " "frame is identical", "[modalGainOpt]")
 Verify modalGainOpt ignores unchanged gain-factor frames.
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt gain-factor updates resize SI state and reset " "sinceChange on change", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt multiplier updates leave state unchanged when the " "frame is identical", "[modalGainOpt]")
 Verify modalGainOpt ignores unchanged multiplier frames.
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt SI multiplier updates set goptUpdated and reset sinceChange", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt frequency updates leave state unchanged when the frame " "is identical", "[modalGainOpt]")
 Verify modalGainOpt ignores unchanged frequency frames.
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt frequency updates resize state and refresh derived timing", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt refreshes pending gopt structures without a PSD wakeup", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt predictor publication preserves per-mode coefficient layout", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt predictor publication blends existing values and " "clears stale coefficients", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt SI mode counts update only while predictor control is off", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt predictor publication clears stale coefficient blocks " "for zero-order modes", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt PC mode counts update only while predictor control is on", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt PC gain-factor updates preserve applied mode counts " "while predictor control is off", "[modalGainOpt]")
 
 libXWCTest::modalGainOptTest::TEST_CASE ("modalGainOpt PC multiplier updates set pcgoptUpdated without " "touching SI optimizer flags", "[modalGainOpt]")
 

Detailed Description

Unit tests for the modalGainOpt application.

Function Documentation

◆ TEST_CASE() [1/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt configuration loads PSD-processing settings without " "toggling autoUpdate"  ,
""  [modalGainOpt] 
)

◆ TEST_CASE() [2/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt counts enabled gain-factor modes using positive entries"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt counts enabled modes from positive gain factors.

Definition at line 1489 of file modalGainOpt_test.cpp.

References MagAOX::app::modalGainOpt::countEnabledGainFactors().

◆ TEST_CASE() [3/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt frequency updates leave state unchanged when the frame " "is identical"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt ignores unchanged frequency frames.

Definition at line 1614 of file modalGainOpt_test.cpp.

References MagAOX::app::modalGainOpt::applyFrequencyUpdate().

◆ TEST_CASE() [4/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt frequency updates resize state and refresh derived timing"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt resizes and copies changed frequency frames while updating derived state.

Definition at line 1645 of file modalGainOpt_test.cpp.

◆ TEST_CASE() [5/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt gain-factor updates leave state unchanged when the " "frame is identical"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt ignores unchanged gain-factor frames.

Definition at line 1508 of file modalGainOpt_test.cpp.

References MagAOX::app::modalGainOpt::applyGainFactorUpdate().

◆ TEST_CASE() [6/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt gain-factor updates resize SI state and reset " "sinceChange on change"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt resizes and copies SI gain-factor frames while resetting the loop debounce timer.

Definition at line 1538 of file modalGainOpt_test.cpp.

◆ TEST_CASE() [7/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt multiplier updates leave state unchanged when the " "frame is identical"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt ignores unchanged multiplier frames.

Definition at line 1561 of file modalGainOpt_test.cpp.

References MagAOX::app::modalGainOpt::applyMultiplierUpdate().

◆ TEST_CASE() [8/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt PC gain-factor updates preserve applied mode counts " "while predictor control is off"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt updates stored PC gain factors without disturbing SI-applied mode counts when predictor control is off.

Definition at line 1886 of file modalGainOpt_test.cpp.

◆ TEST_CASE() [9/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt PC mode counts update only while predictor control is on"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt only applies PC gain-factor mode counts when predictor control is on.

Definition at line 1868 of file modalGainOpt_test.cpp.

◆ TEST_CASE() [10/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt PC multiplier updates set pcgoptUpdated without " "touching SI optimizer flags"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt marks predictive-control optimizer state dirty when PC multiplier frames change.

Definition at line 1910 of file modalGainOpt_test.cpp.

◆ TEST_CASE() [11/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt placeholder harness instantiates the app"  ,
""  [modalGainOpt] 
)

◆ TEST_CASE() [12/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt predictor publication blends existing values and " "clears stale coefficients"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt blends predictive-control gains and coefficients against existing outputs.

Definition at line 1746 of file modalGainOpt_test.cpp.

◆ TEST_CASE() [13/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt predictor publication clears stale coefficient blocks " "for zero-order modes"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt clears stale predictor coefficients when a mode publishes zero-order predictors.

Definition at line 1819 of file modalGainOpt_test.cpp.

◆ TEST_CASE() [14/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt predictor publication preserves per-mode coefficient layout"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt writes predictive-control coefficients into per-mode blocks.

Definition at line 1699 of file modalGainOpt_test.cpp.

◆ TEST_CASE() [15/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt published gain arrays apply calibration scaling"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt applies gain calibration and optical-gain scaling when publishing gains.

Definition at line 1401 of file modalGainOpt_test.cpp.

◆ TEST_CASE() [16/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt published gain arrays keep LP and max LP outputs distinct"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt publishes LP and max-gain arrays into separate buffers.

Definition at line 1342 of file modalGainOpt_test.cpp.

◆ TEST_CASE() [17/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt refreshes pending gopt structures without a PSD wakeup"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt can refresh gain-optimization structures as soon as metadata changes, without waiting for a PSD-triggered semaphore post.

Definition at line 1668 of file modalGainOpt_test.cpp.

References MagAOX::app::modalGainOpt::refreshGoptStructures().

◆ TEST_CASE() [18/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt SI mode counts update only while predictor control is off"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt only applies SI gain-factor mode counts when the SI path is active.

Definition at line 1795 of file modalGainOpt_test.cpp.

References MagAOX::app::modalGainOpt::updateAppliedModeCount().

◆ TEST_CASE() [19/19]

libXWCTest::modalGainOptTest::TEST_CASE ( "modalGainOpt SI multiplier updates set goptUpdated and reset sinceChange"  ,
""  [modalGainOpt] 
)

Verify modalGainOpt marks SI optimizer state dirty when multiplier frames change.

Definition at line 1592 of file modalGainOpt_test.cpp.