World Ocean Simulation System (WOSS) library
WossUnitTest Class Reference
Inheritance diagram for WossUnitTest:
Inheritance graph
Collaboration diagram for WossUnitTest:
Collaboration graph

Public Member Functions

 WossUnitTest ()=default
virtual ~WossUnitTest ()=default
virtual void doConfig () override
virtual void doInit () override
virtual void doRun () override
Public Member Functions inherited from woss::WossTest
 WossTest ()
virtual ~WossTest ()=default
 WossTest (const WossTest &copy)=delete
 WossTest (WossTest &&tmp)=delete
WossTest & operator= (const WossTest &copy)=delete
WossTest & operator= (WossTest &&tmp)=delete
void run ()
WossTest & setWossTestDebug (bool flag)
bool getWossTestDebug () const
WossTest & setWossRandomGenStream (int stream)
int getWossRandomGenStream () const
WossTest & setResDbCreatorDebug (bool flag)
bool getResDbCreatorDebug () const
WossTest & setResDbDebug (bool flag)
bool getResDbDebug () const
WossTest & setResDbUseBinary (bool flag)
bool getResDbUseBinary () const
WossTest & setResDbUseTimeArr (bool flag)
bool getResDbUseTimeArr () const
WossTest & setResDbUsePressure (bool flag)
bool getResDbUsePressure () const
WossTest & setResDbSpaceSampling (double sampling)
double getResDbSpaceSampling () const
WossTest & setResDbFilePath (const std::string &path)
std::string getResDbFilePath () const
WossTest & setResDbFileName (const std::string &file_name)
std::string getResDbFileName () const
WossTest & setSedimDeck41DbType (DECK41DbType type)
DECK41DbType getSedimDeck41DbType () const
WossTest & setSedimDbCreatorDebug (bool flag)
bool getSedimDbCreatorDebug () const
WossTest & setSedimDbDebug (bool flag)
bool getSedimDbDebug () const
WossTest & setSedimDbCoordFilePath (const std::string &path)
std::string getSedimDbCoordFilePath () const
WossTest & setSedimDbMarsdenFilePath (const std::string &path)
std::string getSedimDbMarsdenFilePath () const
WossTest & setSedimDbMarsdenOneFilePath (const std::string &path)
std::string getSedimDbMarsdenOneFilePath () const
WossTest & setSspDbCreatorDebug (bool flag)
bool getSspDbCreatorDebug () const
WossTest & setSspDbDebug (bool flag)
bool getSspDbDebug () const
WossTest & setSspDbFilePath (const std::string &path)
std::string getSspDbFilePath () const
WossTest & setSspWoaDbType (WOADbType type)
WOADbType getSspWoaDbType () const
WossTest & setBathyDbCreatorDebug (bool flag)
bool getBathyDbCreatorDebug () const
WossTest & setBathyDbDebug (bool flag)
bool getBathyDbDebug () const
WossTest & setBathyDbGebcoFormat (GEBCO_BATHY_TYPE type)
GEBCO_BATHY_TYPE getBathyDbGebcoFormat () const
WossTest & setBathyDbFilePath (const std::string &path)
std::string getBathyDbFilePath () const
WossTest & setWossDbManagerDebug (bool flag)
bool getWossDbManagerDebug () const
WossTest & setWossCreatorDebug (bool flag)
bool getWossCreatorDebug () const
WossTest & setWossDebug (bool flag)
bool getWossDebug () const
WossTest & setWossClearWorkDir (bool flag)
bool getWossClearWorkDir () const
WossTest & setWossEvolutionTimeQuantum (double time)
double getWossEvolutionTimeQuantum () const
WossTest & setWossTotalRuns (int runs)
int getWossTotalRuns () const
WossTest & setWossFrequencyStep (double step)
double getWossFrequencyStep () const
WossTest & setWossTotalRangeSteps (double step)
double getWossTotalRangeSteps () const
WossTest & setWossTxMinDepthOffset (double offset)
double getWossTxMinDepthOffset () const
WossTest & setWossTxMaxDepthOffset (double offset)
double getWossTxMaxDepthOffset () const
WossTest & setWossTotalTransmitters (int transmitters)
int getWossTotalTransmitters () const
WossTest & setWossTotalRxDepths (int rx_depths)
int getWossTotalRxDepths () const
WossTest & setWossRxMinDepthOffset (double offset)
double getWossRxMinDepthOffset () const
WossTest & setWossRxMaxDepthOffset (double offset)
double getWossRxMaxDepthOffset () const
WossTest & setWossTotalRxRanges (int rx_ranges)
int getWossTotalRxRanges () const
WossTest & setWossRxMinRangeOffset (double offset)
double getWossRxMinRangeOffset () const
WossTest & setWossRxMaxRangeOffset (double offset)
double getWossRxMaxRangeOffset () const
WossTest & setWossTotalRays (double rays)
double getWossTotalRays () const
WossTest & setWossMinAngle (double angle)
double getWossMinAngle () const
WossTest & setWossMaxAngle (double angle)
double getWossMaxAngle () const
WossTest & setWossUseThorpeAtt (bool flag)
bool getWossUseThorpeAtt () const
WossTest & setWossSspDepthPrecision (double precision)
double getWossSspDepthPrecision () const
WossTest & setWossNormalizedSspDepthSteps (double steps)
double getWossNormalizedSspDepthSteps () const
WossTest & setWossWorkDirPath (const std::string &path)
std::string getWossWorkDirPath () const
WossTest & setWossBellhopPath (const std::string &path)
std::string getWossBellhopPath () const
WossTest & setWossBellhopBinName (const std::string &name)
std::string getWossBellhopBinName () const
WossTest & setWossBellhopMode (const std::string &mode)
std::string getWossBellhopMode () const
WossTest & setWossBellhopBeamOptions (const std::string &options)
std::string getWossBellhopBeamOptions () const
WossTest & setWossBellhopBathyType (const std::string &type)
std::string getWossBellhopBathyType () const
WossTest & setWossBellhopBathyMethod (const std::string &type)
std::string getWossBellhopBathyMethod () const
WossTest & setWossBellhopAltimType (const std::string &type)
std::string getWossBellhopAltimType () const
WossTest & setWossBellhopArraySyntax (BellhopArrSyntax syntax)
BellhopArrSyntax getWossBellhopArraySyntax () const
WossTest & setWossBellhopShdSyntax (BellhopShdSyntax syntax)
BellhopShdSyntax getWossBellhopShdSyntax () const
WossTest & setWossSimTime (const SimTime &time)
SimTime getWossSimTime () const
WossTest & setWossBoxDepth (double depth)
double getWossBoxDepth () const
WossTest & setWossBoxRange (double range)
double getWossBoxRange () const
WossTest & setWossManagerDebug (bool flag)
bool getWossManagerDebug () const
WossTest & setWossManagerTimeEvoActive (bool flag)
bool getWossManagerTimeEvoActive () const
WossTest & setWossManagerThreads (unsigned int threads)
int getWossManagerThreads () const
WossTest & setWossManagerSpaceSampling (double sampling)
double getWossManagerSpaceSampling () const
WossTest & setWossManagerUseMultiThread (bool flag)
bool getWossManagerUseMultiThread () const
WossTest & setWossManagerUseThreadPool (bool flag)
bool getWossManagerUseThreadPool () const
WossTest & setWossTransducerHandlerDebug (bool flag)
bool getWossTransducerHandlerDebug () const
WossTest & setWossControllerDebug (bool flag)
bool getWossControllerDebug () const

Private Member Functions

void testTimeReference ()
void testSettings ()
void testExceptions ()
void testTime ()
void testRandomGenerator ()
void testCoordZ ()
void testSediment ()
void testSSP ()
void testBellhopCreator ()
void testBellhopWoss ()
void testPressure ()
void testTimeArr ()
void testDefHandler ()
void testPDouble ()
void testAltimetry ()
void testThreadPool ()
void testTransducer ()
void testTransducerHandler ()
void testLocation ()
void testArrDataAndReaders ()
void testShdDataAndReaders ()
void testCustomDataContainer ()
void testResPressureDb ()
void testResTimeArrDb ()
void testWossDbManager ()
void testWossCreatorContainer ()

Additional Inherited Members

Protected Member Functions inherited from woss::WossTest
void config ()
void init ()
Protected Attributes inherited from woss::WossTest
bool debug
 debug flag
std::unique_ptr< SSP > ssp_proto
 SSP prototype which will be plugged into the WOSS framework.
std::unique_ptr< Sediment > sediment_proto
 Sediment prototype which will be plugged into the WOSS framework.
std::unique_ptr< Pressure > pressure_proto
 Pressure prototype which will be plugged into the WOSS framework.
std::unique_ptr< TimeArr > time_arr_proto
 TimeArr prototype which will be plugged into the WOSS framework.
std::unique_ptr< Transducer > transducer_proto
 Transducer prototype which will be plugged into the WOSS framework.
std::unique_ptr< AltimBretschneider > altim_bret_proto
 AltimBretschneider prototype which will be plugged into the WOSS framework.
std::unique_ptr< Location > location_proto
 Location prototype which will be plugged into the WOSS framework.
int woss_random_gen_stream
 random generator used by the WOSS framework.
std::unique_ptr< RandomGenerator > random_gen_proto
 RandomGenerator prototype which will be plugged into the WOSS framework.
std::unique_ptr< TimeReference > time_ref_proto
 TimeReference prototype which will be plugged into the WOSS framework.
DefHandler & def_handler
 Definition Handler object allocated by the helper.
bool res_db_creator_debug
 enable/disable the debug prints of the woss results database creator.
bool res_db_debug
 enable/disable the debug prints of the woss result databases.
bool res_db_use_binary
 set up the woss result database format: binary or textual.
bool res_db_use_time_arr
 set up the woss result databases data format: power delay profile.
bool res_db_use_pressure
 set up the woss result databases data format: single pressure tap.
double res_db_space_sampling
 set up the woss result database 2D spatial sampling
std::string res_db_file_path
 set up the woss result database file path
std::string res_db_file_name
 set up the woss result database file name (without path)
std::shared_ptr< ResPressureBinDbCreator > res_db_creator_press_bin
 the helper will automatically allocate the desired result database creator based on current configuration.
std::shared_ptr< ResPressureTxtDbCreator > res_db_creator_press_txt
 the helper will automatically allocate the desired result database creator based on current configuration.
std::shared_ptr< ResTimeArrBinDbCreator > res_db_creator_time_arr_bin
 the helper will automatically allocate the desired result database creator based on current configuration.
std::shared_ptr< ResTimeArrTxtDbCreator > res_db_creator_time_arr_txt
 the helper will automatically allocate the desired result database creator based on current configuration.
DECK41DbType sedim_deck41_db_type
 DECK41 db data format type.
bool sedim_db_creator_debug
 enable/disable the debug prints of the woss sediment database creator.
bool sedim_db_debug
 enable/disable the debug prints of the woss sediment database.
std::string sedim_db_coord_file_path
 setup the path of the sediment database indexed by geographical coordinates with decimal degrees resolution
std::string sedim_db_marsden_file_path
 setup the path of the sediment database indexed by geographical coordinates with marsden square resolution
std::string sedim_db_marsden_one_file_path
 setup the path of the sediment database indexed by geographical coordinates with marsden one square resolution
std::shared_ptr< SedimDeck41DbCreator > sedim_db_creator
 the helper will automatically allocate the woss sediment database creator
bool ssp_db_creator_debug
 enable/disable the debug prints of the woss SSP database creator.
bool ssp_db_debug
 enable/disable the debug prints of the woss SSP database.
std::string ssp_db_file_path
 setup the path of the woss monthly SSP database indexed by geographical coordinates
WOADbType ssp_woa_db_type
 WOA SSP Db Type.
std::shared_ptr< SspWoa2005DbCreator > ssp_db_creator
 the helper will automatically allocate the woss sediment database creator
bool bathy_db_creator_debug
 enable/disable the debug prints of the woss Bathymetry database creator.
bool bathy_db_debug
 enable/disable the debug prints of the woss Bathymetry database (GEBCO).
GEBCO_BATHY_TYPE bathy_db_gebco_format
 setup the the GEBCO database format
std::string bathy_db_file_path
 setup the path of the woss GEBCO database
std::shared_ptr< BathyGebcoDbCreator > bathy_db_creator
 the helper will automatically allocate the woss GEBCO bathymetry db creator
bool woss_db_manager_debug
 enable/disable the debug prints of the woss DB manager object.
std::shared_ptr< WossDbManager > woss_db_manager
 the helper will automatically allocate the woss DB manager
bool woss_creator_debug
 enable/disable the debug prints of the woss creator.
bool woss_debug
 enable/disable the debug prints of all woss objects
bool woss_clear_work_dir
 woss object configuration: clear the temporary files created by the underlying channel simulator
double evolution_time_quantum
 woss object configuration: evolution time quantum
int total_runs
 woss object configuration: total number of channel simulator runs
double frequency_step
 woss object configuration: number of frequency steps
double total_range_steps
 woss object configuration: tx - rx range sampling in meters
double tx_min_depth_offset
 woss object configuration: transmitter min offset in meters
double tx_max_depth_offset
 woss object configuration: transmitter max offset in meters
int total_transmitters
 woss object configuration: total number of transmitting sources
int total_rx_depths
 woss object configuration: receiver depth sampling
double rx_min_depth_offset
 woss object configuration: receiver min depth offset in meters
double rx_max_depth_offset
 woss object configuration: receiver max depth offset in meters
int total_rx_ranges
 woss object configuration: receiver range sampling
double rx_min_range_offset
 woss object configuration: receiver min range offset in meters
double rx_max_range_offset
 woss object configuration: receiver max range offset in meters
double total_rays
 woss object configuration: total number of rays (0 = automatic)
double min_angle
 woss object configuration: minimum vertical angle in decimal degrees
double max_angle
 woss object configuration: maximum vertical angle in decimal degrees
bool use_thorpe_att
 woss object configuration: use thorpe attenuation in channel computation
double ssp_depth_precision
 woss object configuration: SSP depth precision in meters
double normalized_ssp_depth_steps
 woss object configuration: SSP depth quantization steps
std::string work_dir_path
 woss object configuration: path of the temporary directory
std::string bellhop_path
 woss object configuration: path of the Bellhop executable
std::string bellhop_bin_name
 woss object configuration: Bellhop binary name
std::string bellhop_mode
 woss object configuration: Bellhop mode string
std::string bellhop_beam_options
 woss object configuration: Bellhop beam option string
std::string bellhop_bathy_type
 woss object configuration: Bellhop bathymetry type string
std::string bellhop_bathy_method
 woss object configuration: Bathymetry write method string
std::string bellhop_altim_type
 woss object configuration: Bellhop Altimetry type string
BellhopArrSyntax bellhop_arr_syntax
 woss object configration: Bellhop Arr file syntax to be used during .arr file parsing
BellhopShdSyntax bellhop_shd_syntax
 woss object configration: Bellhop Shd file syntax to be used during .shd file parsing
SimTime sim_time
 woss object configuration: woss simulation times (start and end sim times)
std::shared_ptr< BellhopCreator > bellhop_creator
 the helper will automatically allocate the woss creator
double box_depth
 woss object configuration: maximum depth to trace rays to; deeper rays will be ignored
double box_range
 woss object configuration: maximum range to trace rats to; longer rays will be ignored
bool woss_manager_debug
 enable/disable the debug prints of the woss manager.
bool time_evolution_active
 enable/disable the time evolution feature.
unsigned int concurrent_threads
 number of concurrent threads (0 = auto).
double woss_manager_space_sampling
 woss manager space sampling in meters
bool woss_manager_use_multithread
 enable/disable the multithread feature
bool woss_manager_use_thread_pool
 enable/disable woss::ThreadPool usage
std::shared_ptr< WossManagerSimple< WossManagerResDb > > woss_manager_simple
 the helper will automatically allocate the desired woss manager based on current configuration.
std::shared_ptr< WossManagerSimple< WossManagerResDbMT > > woss_manager_multi
 the helper will automatically allocate the desired woss manaeger based on current configuration.
bool woss_transducer_handler_debug
 enable/disable the debug prints of the woss transducer handler.
std::shared_ptr< TransducerHandler > woss_transducer_handler
 the helper will automatically allocate the woss Transducer handler.
bool woss_controller_debug
 enable/disable the debug prints of the woss conteroller
std::shared_ptr< WossController > woss_controller
 the helper will automatically allocate the woss controller.
bool initialized
 initialization complete flag.

Constructor & Destructor Documentation

◆ WossUnitTest()

WossUnitTest::WossUnitTest ( )
default

◆ ~WossUnitTest()

virtual WossUnitTest::~WossUnitTest ( )
virtualdefault

Member Function Documentation

◆ doConfig()

void WossUnitTest::doConfig ( )
overridevirtual

Virtual function that allows the derived class to perform its custom configuration phase

Implements woss::WossTest.

References woss::WossTest::setWossTestDebug().

Here is the call graph for this function:

◆ doInit()

void WossUnitTest::doInit ( )
overridevirtual

Virtual function that allows the derived class to perform its custom initialization phase

Implements woss::WossTest.

◆ doRun()

◆ testAltimetry()

void WossUnitTest::testAltimetry ( )
private

◆ testArrDataAndReaders()

◆ testBellhopCreator()

◆ testBellhopWoss()

◆ testCoordZ()

void WossUnitTest::testCoordZ ( )
private

◆ testCustomDataContainer()

◆ testDefHandler()

◆ testExceptions()

void WossUnitTest::testExceptions ( )
private

◆ testLocation()

void WossUnitTest::testLocation ( )
private

References woss::WossTest::debug, woss::Singleton< DefHandler >::instance(), and woss::WOSS_ERROR_INVALID_PARAM.

Referenced by doRun().

Here is the call graph for this function:

◆ testPDouble()

void WossUnitTest::testPDouble ( )
private

References woss::WossTest::debug, woss::PDouble::getPrecision(), woss::PDouble::getValue(), and woss::WOSS_ERROR_INVALID_PARAM.

Referenced by doRun().

Here is the call graph for this function:

◆ testPressure()

◆ testRandomGenerator()

◆ testResPressureDb()

◆ testResTimeArrDb()

◆ testSediment()

void WossUnitTest::testSediment ( )
private

◆ testSettings()

◆ testShdDataAndReaders()

◆ testSSP()

void WossUnitTest::testSSP ( )
private

◆ testThreadPool()

void WossUnitTest::testThreadPool ( )
private

References woss::WossTest::debug, woss::ThreadPool::getNumThreads(), woss::ThreadPool::submit(), and woss::WOSS_ERROR_INVALID_PARAM.

Referenced by doRun().

Here is the call graph for this function:

◆ testTime()

◆ testTimeArr()

void WossUnitTest::testTimeArr ( )
private

◆ testTimeReference()

void WossUnitTest::testTimeReference ( )
private

◆ testTransducer()

◆ testTransducerHandler()

◆ testWossCreatorContainer()

◆ testWossDbManager()


The documentation for this class was generated from the following file: