From 0a0222c29935e259f14d928bba5cfb5003cbd97a Mon Sep 17 00:00:00 2001 From: Tommaso Pecorella Date: Sun, 9 Jan 2022 16:21:42 -0600 Subject: [PATCH] propagation: doxygen fixes --- .../model/propagation-delay-model.h | 9 +- .../model/propagation-loss-model.h | 14 +++- .../model/three-gpp-propagation-loss-model.h | 24 +----- .../channel-condition-model-test-suite.cc | 7 +- .../test/itu-r-1411-los-test-suite.cc | 49 +++++++---- ...itu-r-1411-nlos-over-rooftop-test-suite.cc | 54 ++++++++---- .../test/kun-2600-mhz-test-suite.cc | 42 +++++++--- .../test/okumura-hata-test-suite.cc | 66 +++++++++------ ...listic-v2v-channel-condition-model-test.cc | 9 +- .../test/propagation-loss-model-test-suite.cc | 82 +++++++++++++++---- ...e-gpp-propagation-loss-model-test-suite.cc | 40 ++++++++- 11 files changed, 286 insertions(+), 110 deletions(-) diff --git a/src/propagation/model/propagation-delay-model.h b/src/propagation/model/propagation-delay-model.h index 179934df3..05794e07e 100644 --- a/src/propagation/model/propagation-delay-model.h +++ b/src/propagation/model/propagation-delay-model.h @@ -58,14 +58,19 @@ public: * 'stream'. Return the number of streams (possibly zero) that * have been assigned. * - * \param stream + * \param stream first stream index to use * \return the number of stream indices assigned by this model */ int64_t AssignStreams (int64_t stream); protected: /** + * Assign a fixed random variable stream number to the random variables used by this model. + * * Subclasses must implement this; those not using random variables - * can return zero + * can return zero. + * + * \param stream first stream index to use + * \return the number of stream indices assigned by this model */ virtual int64_t DoAssignStreams (int64_t stream) = 0; }; diff --git a/src/propagation/model/propagation-loss-model.h b/src/propagation/model/propagation-loss-model.h index 16d451fd8..c39a7f77f 100644 --- a/src/propagation/model/propagation-loss-model.h +++ b/src/propagation/model/propagation-loss-model.h @@ -33,7 +33,12 @@ namespace ns3 { /** * \defgroup propagation Propagation Models - * + */ + +/** + * \ingroup propagation + * \ingroup tests + * \defgroup propagation-tests Propagation module tests */ class MobilityModel; @@ -112,9 +117,12 @@ public: protected: /** + * Assign a fixed random variable stream number to the random variables used by this model. + * * Subclasses must implement this; those not using random variables - * can return zero - * \param stream the stream index offset start + * can return zero. + * + * \param stream first stream index to use * \return the number of stream indices assigned by this model */ virtual int64_t DoAssignStreams (int64_t stream) = 0; diff --git a/src/propagation/model/three-gpp-propagation-loss-model.h b/src/propagation/model/three-gpp-propagation-loss-model.h index 6aefc42f0..172c7137b 100644 --- a/src/propagation/model/three-gpp-propagation-loss-model.h +++ b/src/propagation/model/three-gpp-propagation-loss-model.h @@ -26,8 +26,10 @@ namespace ns3 { /** -* \brief Base class for the 3GPP propagation models -*/ + * \ingroup propagation + * + * \brief Base class for the 3GPP propagation models + */ class ThreeGppPropagationLossModel : public PropagationLossModel { public: @@ -101,15 +103,6 @@ private: Ptr a, Ptr b) const override; - /** - * If this model uses objects of type RandomVariableStream, - * set the stream numbers to the integers starting with the offset - * 'stream'. Return the number of streams (possibly zero) that - * have been assigned. - * - * \param stream - * \return the number of stream indices assigned by this model - */ virtual int64_t DoAssignStreams (int64_t stream) override; /** @@ -391,15 +384,6 @@ public: ThreeGppUmaPropagationLossModel & operator = (const ThreeGppUmaPropagationLossModel &) = delete; private: - /** - * If this model uses objects of type RandomVariableStream, - * set the stream numbers to the integers starting with the offset - * 'stream'. Return the number of streams (possibly zero) that - * have been assigned. - * - * \param stream - * \return the number of stream indices assigned by this model - */ virtual int64_t DoAssignStreams (int64_t stream) override; /** diff --git a/src/propagation/test/channel-condition-model-test-suite.cc b/src/propagation/test/channel-condition-model-test-suite.cc index 1b28c6e57..f1620de98 100644 --- a/src/propagation/test/channel-condition-model-test-suite.cc +++ b/src/propagation/test/channel-condition-model-test-suite.cc @@ -32,6 +32,8 @@ using namespace ns3; NS_LOG_COMPONENT_DEFINE ("ChannelConditionModelsTest"); /** + * \ingroup propagation-tests + * * Test case for the 3GPP channel condition models. It determines the * channel condition multiple times, estimates the LOS probability and * compares it with the value given by the formulas in 3GPP TR 38.901, @@ -263,6 +265,8 @@ ThreeGppChannelConditionModelTestCase::DoRun (void) } /** + * \ingroup propagation-tests + * * Test suite for the channel condition models */ class ChannelConditionModelsTestSuite : public TestSuite @@ -277,4 +281,5 @@ ChannelConditionModelsTestSuite::ChannelConditionModelsTestSuite () AddTestCase (new ThreeGppChannelConditionModelTestCase, TestCase::QUICK); } -static ChannelConditionModelsTestSuite ChannelConditionModelsTestSuite; +/// Static variable for test initialization +static ChannelConditionModelsTestSuite g_channelConditionModelsTestSuite; diff --git a/src/propagation/test/itu-r-1411-los-test-suite.cc b/src/propagation/test/itu-r-1411-los-test-suite.cc index ea082ba3d..a19bb01f8 100644 --- a/src/propagation/test/itu-r-1411-los-test-suite.cc +++ b/src/propagation/test/itu-r-1411-los-test-suite.cc @@ -33,22 +33,43 @@ using namespace ns3; NS_LOG_COMPONENT_DEFINE ("ItuR1411LosPropagationLossModelTest"); +/** + * \ingroup propagation-tests + * + * \brief ItuR1411LosPropagationLossModel Test Case + * + */ class ItuR1411LosPropagationLossModelTestCase : public TestCase { public: + /** + * Constructor + * + * \param freq carrier frequency in Hz + * \param dist 2D distance between UT and BS in meters + * \param hb height of BS in meters + * \param hm height of UT in meters + * \param refValue reference loss value + * \param name TestCase name + */ ItuR1411LosPropagationLossModelTestCase (double freq, double dist, double hb, double hm, double refValue, std::string name); virtual ~ItuR1411LosPropagationLossModelTestCase (); private: virtual void DoRun (void); + + /** + * Create a MobilityModel + * \param index mobility model index + * \return a new MobilityModel + */ Ptr CreateMobilityModel (uint16_t index); - double m_freq; - double m_dist; - double m_hb; - double m_hm; - double m_lossRef; - + double m_freq; //!< carrier frequency in Hz + double m_dist; //!< 2D distance between UT and BS in meters + double m_hb; //!< height of BS in meters + double m_hm; //!< height of UT in meters + double m_lossRef; //!< reference loss }; ItuR1411LosPropagationLossModelTestCase::ItuR1411LosPropagationLossModelTestCase (double freq, double dist, double hb, double hm, double refValue, std::string name) @@ -92,7 +113,12 @@ ItuR1411LosPropagationLossModelTestCase::DoRun (void) } - +/** + * \ingroup propagation-tests + * + * \brief ItuR1411LosPropagationLossModel TestSuite + * + */ class ItuR1411LosPropagationLossModelTestSuite : public TestSuite { public: @@ -108,16 +134,9 @@ ItuR1411LosPropagationLossModelTestSuite::ItuR1411LosPropagationLossModelTestSui LogComponentEnable ("ItuR1411LosPropagationLossModelTest", LOG_LEVEL_ALL); // reference values obtained with the octave scripts in src/propagation/test/reference/ - AddTestCase (new ItuR1411LosPropagationLossModelTestCase (2.1140e9, 100, 30, 1, 81.005, "freq=2114MHz, dist=100m"), TestCase::QUICK); - AddTestCase (new ItuR1411LosPropagationLossModelTestCase (1999e6, 200, 30, 1, 87.060, "freq=1999MHz, dist=200m"), TestCase::QUICK); - - - - } - - +/// Static variable for test initialization static ItuR1411LosPropagationLossModelTestSuite g_ituR1411LosTestSuite; diff --git a/src/propagation/test/itu-r-1411-nlos-over-rooftop-test-suite.cc b/src/propagation/test/itu-r-1411-nlos-over-rooftop-test-suite.cc index dec744b7f..cd173b248 100644 --- a/src/propagation/test/itu-r-1411-nlos-over-rooftop-test-suite.cc +++ b/src/propagation/test/itu-r-1411-nlos-over-rooftop-test-suite.cc @@ -33,24 +33,47 @@ using namespace ns3; NS_LOG_COMPONENT_DEFINE ("ItuR1411NlosOverRooftopPropagationLossModelTest"); +/** + * \ingroup propagation-tests + * + * \brief ItuR1411NlosOverRooftopPropagationLossModel Test Case + * + */ class ItuR1411NlosOverRooftopPropagationLossModelTestCase : public TestCase { public: + /** + * Constructor + * + * \param freq carrier frequency in Hz + * \param dist 2D distance between UT and BS in meters + * \param hb height of BS in meters + * \param hm height of UT in meters + * \param env environment type + * \param city city type + * \param refValue reference loss value + * \param name TestCase name + */ ItuR1411NlosOverRooftopPropagationLossModelTestCase (double freq, double dist, double hb, double hm, EnvironmentType env, CitySize city, double refValue, std::string name); virtual ~ItuR1411NlosOverRooftopPropagationLossModelTestCase (); private: virtual void DoRun (void); + + /** + * Create a MobilityModel + * \param index mobility model index + * \return a new MobilityModel + */ Ptr CreateMobilityModel (uint16_t index); - double m_freq; - double m_dist; - double m_hb; - double m_hm; - EnvironmentType m_env; - CitySize m_city; - double m_lossRef; - + double m_freq; //!< carrier frequency in Hz + double m_dist; //!< 2D distance between UT and BS in meters + double m_hb; //!< height of BS in meters + double m_hm; //!< height of UT in meters + EnvironmentType m_env; //!< environment type + CitySize m_city; //!< city type + double m_lossRef; //!< reference loss }; ItuR1411NlosOverRooftopPropagationLossModelTestCase::ItuR1411NlosOverRooftopPropagationLossModelTestCase (double freq, double dist, double hb, double hm, EnvironmentType env, CitySize city, double refValue, std::string name) @@ -98,7 +121,12 @@ ItuR1411NlosOverRooftopPropagationLossModelTestCase::DoRun (void) } - +/** + * \ingroup propagation-tests + * + * \brief ItuR1411NlosOverRooftopPropagationLossModel TestSuite + * + */ class ItuR1411NlosOverRooftopPropagationLossModelTestSuite : public TestSuite { public: @@ -106,21 +134,15 @@ public: }; - ItuR1411NlosOverRooftopPropagationLossModelTestSuite::ItuR1411NlosOverRooftopPropagationLossModelTestSuite () : TestSuite ("itu-r-1411-nlos-over-rooftop", SYSTEM) { - LogComponentEnable ("ItuR1411NlosOverRooftopPropagationLossModelTest", LOG_LEVEL_ALL); // reference values obtained with the octave scripts in src/propagation/test/reference/ - AddTestCase (new ItuR1411NlosOverRooftopPropagationLossModelTestCase (2.1140e9, 900, 30, 1, UrbanEnvironment, LargeCity, 143.68, "f=2114Mhz, dist=900, urban large city"), TestCase::QUICK); - AddTestCase (new ItuR1411NlosOverRooftopPropagationLossModelTestCase (1.865e9, 500, 30, 1, UrbanEnvironment, LargeCity, 132.84, "f=2114Mhz, dist=900, urban large city"), TestCase::QUICK); - } - - +/// Static variable for test initialization static ItuR1411NlosOverRooftopPropagationLossModelTestSuite g_ituR1411NlosOverRooftopTestSuite; diff --git a/src/propagation/test/kun-2600-mhz-test-suite.cc b/src/propagation/test/kun-2600-mhz-test-suite.cc index 9f5b47c3d..f58073128 100644 --- a/src/propagation/test/kun-2600-mhz-test-suite.cc +++ b/src/propagation/test/kun-2600-mhz-test-suite.cc @@ -33,21 +33,41 @@ using namespace ns3; NS_LOG_COMPONENT_DEFINE ("Kun2600MhzPropagationLossModelTest"); +/** + * \ingroup propagation-tests + * + * \brief Kun2600MhzPropagationLossModel Test Case + * + */ class Kun2600MhzPropagationLossModelTestCase : public TestCase { public: + /** + * Constructor + * + * \param dist 2D distance between UT and BS in meters + * \param hb height of BS in meters + * \param hm height of UT in meters + * \param refValue reference loss value + * \param name TestCase name + */ Kun2600MhzPropagationLossModelTestCase (double dist, double hb, double hm, double refValue, std::string name); virtual ~Kun2600MhzPropagationLossModelTestCase (); private: virtual void DoRun (void); + + /** + * Create a MobilityModel + * \param index mobility model index + * \return a new MobilityModel + */ Ptr CreateMobilityModel (uint16_t index); - double m_dist; - double m_hb; - double m_hm; - double m_lossRef; - + double m_dist; //!< 2D distance between UT and BS in meters + double m_hb; //!< height of BS in meters + double m_hm; //!< height of UT in meters + double m_lossRef; //!< reference loss }; Kun2600MhzPropagationLossModelTestCase::Kun2600MhzPropagationLossModelTestCase (double dist, double hb, double hm, double refValue, std::string name) @@ -90,6 +110,12 @@ Kun2600MhzPropagationLossModelTestCase::DoRun (void) +/** + * \ingroup propagation-tests + * + * \brief Kun2600MhzPropagationLossModel TestSuite + * + */ class Kun2600MhzPropagationLossModelTestSuite : public TestSuite { public: @@ -101,14 +127,10 @@ public: Kun2600MhzPropagationLossModelTestSuite::Kun2600MhzPropagationLossModelTestSuite () : TestSuite ("kun-2600-mhz", SYSTEM) { - LogComponentEnable ("Kun2600MhzPropagationLossModelTest", LOG_LEVEL_ALL); AddTestCase (new Kun2600MhzPropagationLossModelTestCase (2000, 30, 1, 121.83, "dist=2000m"), TestCase::QUICK); - - } - - +/// Static variable for test initialization static Kun2600MhzPropagationLossModelTestSuite g_kun2600MhzTestSuite; diff --git a/src/propagation/test/okumura-hata-test-suite.cc b/src/propagation/test/okumura-hata-test-suite.cc index 5714796be..18eb6524e 100644 --- a/src/propagation/test/okumura-hata-test-suite.cc +++ b/src/propagation/test/okumura-hata-test-suite.cc @@ -33,24 +33,46 @@ using namespace ns3; NS_LOG_COMPONENT_DEFINE ("OkumuraHataPropagationLossModelTest"); +/** + * \ingroup propagation-tests + * + * \brief OkumuraHataPropagationLossModel Test Case + */ class OkumuraHataPropagationLossModelTestCase : public TestCase { public: + /** + * Constructor + * + * \param freq carrier frequency in Hz + * \param dist 2D distance between UT and BS in meters + * \param hb height of BS in meters + * \param hm height of UT in meters + * \param env environment type + * \param city city type + * \param refValue reference loss value + * \param name TestCase name + */ OkumuraHataPropagationLossModelTestCase (double freq, double dist, double hb, double hm, EnvironmentType env, CitySize city, double refValue, std::string name); virtual ~OkumuraHataPropagationLossModelTestCase (); private: virtual void DoRun (void); + + /** + * Create a MobilityModel + * \param index mobility model index + * \return a new MobilityModel + */ Ptr CreateMobilityModel (uint16_t index); - double m_freq; - double m_dist; - double m_hb; - double m_hm; - EnvironmentType m_env; - CitySize m_city; - double m_lossRef; - + double m_freq; //!< carrier frequency in Hz + double m_dist; //!< 2D distance between UT and BS in meters + double m_hb; //!< height of BS in meters + double m_hm; //!< height of UT in meters + EnvironmentType m_env; //!< environment type + CitySize m_city; //!< city type + double m_lossRef; //!< reference loss }; OkumuraHataPropagationLossModelTestCase::OkumuraHataPropagationLossModelTestCase (double freq, double dist, double hb, double hm, EnvironmentType env, CitySize city, double refValue, std::string name) @@ -98,44 +120,40 @@ OkumuraHataPropagationLossModelTestCase::DoRun (void) } - +/** + * \ingroup propagation-tests + * + * \brief OkumuraHataPropagationLossModel TestSuite + * + * This TestSuite tests the following cases: + * - UrbanEnvironment - Large City (original OH and COST231 OH) + * - UrbanEnvironment - Small City (original OH and COST231 OH) + * - SubUrbanEnvironment (original OH only) + * - OpenAreasEnvironment (original OH only) + */ class OkumuraHataPropagationLossModelTestSuite : public TestSuite { public: OkumuraHataPropagationLossModelTestSuite (); }; - - OkumuraHataPropagationLossModelTestSuite::OkumuraHataPropagationLossModelTestSuite () : TestSuite ("okumura-hata", SYSTEM) { - LogComponentEnable ("OkumuraHataPropagationLossModelTest", LOG_LEVEL_ALL); - - // reference values obtained with the octave scripts in src/propagation/test/reference/ - double freq = 869e6; // this will use the original OH model - AddTestCase (new OkumuraHataPropagationLossModelTestCase (freq, 2000, 30, 1, UrbanEnvironment, LargeCity, 137.93, "original OH Urban Large city"), TestCase::QUICK); - AddTestCase (new OkumuraHataPropagationLossModelTestCase (freq, 2000, 30, 1, UrbanEnvironment, SmallCity, 137.88, "original OH Urban small city"), TestCase::QUICK); - AddTestCase (new OkumuraHataPropagationLossModelTestCase (freq, 2000, 30, 1, SubUrbanEnvironment, LargeCity, 128.03, "original OH SubUrban"), TestCase::QUICK); - AddTestCase (new OkumuraHataPropagationLossModelTestCase (freq, 2000, 30, 1, OpenAreasEnvironment, LargeCity, 110.21, "original OH OpenAreas"), TestCase::QUICK); - freq = 2.1140e9; // this will use the extended COST231 OH model - AddTestCase (new OkumuraHataPropagationLossModelTestCase (freq, 2000, 30, 1, UrbanEnvironment, LargeCity, 148.55, "COST231 OH Urban Large city"), TestCase::QUICK); - AddTestCase (new OkumuraHataPropagationLossModelTestCase (freq, 2000, 30, 1, UrbanEnvironment, SmallCity, 150.64, "COST231 OH Urban small city and suburban"), TestCase::QUICK); - } - +/// Static variable for test initialization static OkumuraHataPropagationLossModelTestSuite g_okumuraHataTestSuite; diff --git a/src/propagation/test/probabilistic-v2v-channel-condition-model-test.cc b/src/propagation/test/probabilistic-v2v-channel-condition-model-test.cc index 84a2dde3c..71a75a1af 100644 --- a/src/propagation/test/probabilistic-v2v-channel-condition-model-test.cc +++ b/src/propagation/test/probabilistic-v2v-channel-condition-model-test.cc @@ -36,6 +36,8 @@ using namespace ns3; NS_LOG_COMPONENT_DEFINE ("ProbabilisticV2vChannelConditionModelsTest"); /** + * \ingroup propagation-tests + * * Test case for the V2V Urban channel condition models using a fully * probabilistic model to determine LOS, NLOS and NLOSv states. The test * determines the channel condition multiple times, @@ -226,6 +228,8 @@ V2vUrbanProbChCondModelTestCase::DoRun (void) } /** + * \ingroup propagation-tests + * * Test case for the V2V Highway channel condition models using a fully * probabilistic model to determine LOS, NLOS and NLOSv states. The test * determines the channel condition multiple times, @@ -434,6 +438,8 @@ V2vHighwayProbChCondModelTestCase::DoRun (void) } /** + * \ingroup propagation-tests + * * Test suite for the probabilistic V2V channel condition model * * The tests V2vUrbanProbChCondModelTestCase and @@ -458,4 +464,5 @@ ProbabilisticV2vChCondModelsTestSuite::ProbabilisticV2vChCondModelsTestSuite () AddTestCase (new V2vHighwayProbChCondModelTestCase, TestCase::QUICK); // test for a fully probabilistic model (NLOS vs LOS vs NLOSv), in V2V highway scenario*/ } -static ProbabilisticV2vChCondModelsTestSuite probabilisticV2vChCondModelsTestSuite; +/// Static variable for test initialization +static ProbabilisticV2vChCondModelsTestSuite g_probabilisticV2vChCondModelsTestSuite; diff --git a/src/propagation/test/propagation-loss-model-test-suite.cc b/src/propagation/test/propagation-loss-model-test-suite.cc index 06bcf13c1..90b2ea9c9 100644 --- a/src/propagation/test/propagation-loss-model-test-suite.cc +++ b/src/propagation/test/propagation-loss-model-test-suite.cc @@ -33,7 +33,19 @@ NS_LOG_COMPONENT_DEFINE ("PropagationLossModelsTest"); // This is a simple test to validate propagation loss models of ns-3 wifi. // See the chapter in the ns-3 testing and validation guide for more detail // =========================================================================== -// + + +/** + * \ingroup propagation + * \defgroup propagation-test Propagation module tests + */ + + +/** + * \ingroup propagation-tests + * + * \brief FriisPropagationLossModel Test + */ class FriisPropagationLossModelTestCase : public TestCase { public: @@ -43,13 +55,15 @@ public: private: virtual void DoRun (void); + /// Test vector typedef struct { - Vector m_position; - double m_pt; // dBm - double m_pr; // W - double m_tolerance; + Vector m_position; //!< Test node position + double m_pt; //!< Tx power [dBm] + double m_pr; //!< Rx power [W] + double m_tolerance; //!< Tolerance } TestVector; + /// Test vectors TestVectors m_testVectors; }; @@ -132,6 +146,11 @@ FriisPropagationLossModelTestCase::DoRun (void) // Added for Two-Ray Ground Model - tomhewer@mac.com +/** + * \ingroup propagation-tests + * + * \brief TwoRayGroundPropagationLossModel Test + */ class TwoRayGroundPropagationLossModelTestCase : public TestCase { public: @@ -141,14 +160,15 @@ public: private: virtual void DoRun (void); - typedef struct - { - Vector m_position; - double m_pt; // dBm - double m_pr; // W - double m_tolerance; + /// Test vector + typedef struct { + Vector m_position; //!< Test node position + double m_pt; //!< Tx power [dBm] + double m_pr; //!< Rx power [W] + double m_tolerance; //!< Tolerance } TestVector; + /// Test vectors TestVectors m_testVectors; }; @@ -261,6 +281,11 @@ TwoRayGroundPropagationLossModelTestCase::DoRun (void) } +/** + * \ingroup propagation-tests + * + * \brief LogDistancePropagationLossModel Test + */ class LogDistancePropagationLossModelTestCase : public TestCase { public: @@ -270,13 +295,15 @@ public: private: virtual void DoRun (void); + /// Test vector typedef struct { - Vector m_position; - double m_pt; // dBm - double m_pr; // W - double m_tolerance; + Vector m_position; //!< Test node position + double m_pt; //!< Tx power [dBm] + double m_pr; //!< Rx power [W] + double m_tolerance; //!< Tolerance } TestVector; + /// Test vectors TestVectors m_testVectors; }; @@ -348,6 +375,11 @@ LogDistancePropagationLossModelTestCase::DoRun (void) } } +/** + * \ingroup propagation-tests + * + * \brief MatrixPropagationLossModel Test + */ class MatrixPropagationLossModelTestCase : public TestCase { public: @@ -396,6 +428,11 @@ MatrixPropagationLossModelTestCase::DoRun (void) Simulator::Destroy (); } +/** + * \ingroup propagation-tests + * + * \brief RangePropagationLossModel Test + */ class RangePropagationLossModelTestCase : public TestCase { public: @@ -436,6 +473,18 @@ RangePropagationLossModelTestCase::DoRun (void) Simulator::Destroy (); } +/** + * \ingroup propagation-tests + * + * \brief Propagation models TestSuite + * + * This TestSuite tests the following models: + * - FriisPropagationLossModel + * - TwoRayGroundPropagationLossModel + * - LogDistancePropagationLossModel + * - MatrixPropagationLossModel + * - RangePropagationLossModel + */ class PropagationLossModelsTestSuite : public TestSuite { public: @@ -452,4 +501,5 @@ PropagationLossModelsTestSuite::PropagationLossModelsTestSuite () AddTestCase (new RangePropagationLossModelTestCase, TestCase::QUICK); } -static PropagationLossModelsTestSuite propagationLossModelsTestSuite; +/// Static variable for test initialization +static PropagationLossModelsTestSuite g_propagationLossModelsTestSuite; diff --git a/src/propagation/test/three-gpp-propagation-loss-model-test-suite.cc b/src/propagation/test/three-gpp-propagation-loss-model-test-suite.cc index 4a25985e7..e67e1836b 100644 --- a/src/propagation/test/three-gpp-propagation-loss-model-test-suite.cc +++ b/src/propagation/test/three-gpp-propagation-loss-model-test-suite.cc @@ -36,6 +36,8 @@ using namespace ns3; NS_LOG_COMPONENT_DEFINE ("ThreeGppPropagationLossModelsTest"); /** + * \ingroup propagation-tests + * * Test case for the class ThreeGppRmaPropagationLossModel. * It computes the pathloss between two nodes and compares it with the value * obtained using the formula in 3GPP TR 38.901, Table 7.4.1-1. @@ -193,6 +195,8 @@ ThreeGppRmaPropagationLossModelTestCase::DoRun (void) } /** + * \ingroup propagation-tests + * * Test case for the class ThreeGppUmaPropagationLossModel. * It computes the pathloss between two nodes and compares it with the value * obtained using the formula in 3GPP TR 38.901, Table 7.4.1-1. @@ -350,6 +354,8 @@ ThreeGppUmaPropagationLossModelTestCase::DoRun (void) } /** + * \ingroup propagation-tests + * * Test case for the class ThreeGppUmiStreetCanyonPropagationLossModel. * It computes the pathloss between two nodes and compares it with the value * obtained using the formula in 3GPP TR 38.901, Table 7.4.1-1. @@ -501,6 +507,8 @@ ThreeGppUmiPropagationLossModelTestCase::DoRun (void) } /** + * \ingroup propagation-tests + * * Test case for the class ThreeGppIndoorOfficePropagationLossModel. * It computes the pathloss between two nodes and compares it with the value * obtained using the formula in 3GPP TR 38.901, Table 7.4.1-1. @@ -658,6 +666,8 @@ ThreeGppIndoorOfficePropagationLossModelTestCase::DoRun (void) } /** + * \ingroup propagation-tests + * * Test case for the class ThreeGppV2vUrbanPropagationLossModel. * It computes the pathloss between two nodes and compares it with the value * obtained using the formula in 3GPP TR 37.885 Table 6.2.1-1 for v2v @@ -811,6 +821,8 @@ ThreeGppV2vUrbanPropagationLossModelTestCase::DoRun (void) } /** + * \ingroup propagation-tests + * * Test case for the class ThreeGppV2vHighwayPropagationLossModel. * It computes the pathloss between two nodes and compares it with the value * obtained using the formula in 3GPP TR 37.885 Table 6.2.1-1 for v2v @@ -963,7 +975,11 @@ ThreeGppV2vHighwayPropagationLossModelTestCase::DoRun (void) Simulator::Destroy (); } -// Test to check if the shadowing fading is correctly computed +/** + * \ingroup propagation-tests + * + * Test to check if the shadowing fading is correctly computed + */ class ThreeGppShadowingTestCase : public TestCase { public: @@ -981,6 +997,7 @@ private: * \param hBs the BS height in meters * \param hUt the UT height in meters * \param distance the intial distance between the BS and the UT + * \param shadowingEnabled true if shadowging must be enabled */ void RunTest (uint16_t testNum, std::string propagationLossModelType, double hBs, double hUt, double distance, bool shadowingEnabled); @@ -993,6 +1010,10 @@ private: */ void EvaluateLoss (Ptr a, Ptr b, uint8_t testNum); + /** + * Change the channel condition model + * \param ccm the new ChannelConditionModel + */ void ChangeChannelCondition (Ptr ccm); /** @@ -1207,6 +1228,20 @@ ThreeGppShadowingTestCase::DoRun (void) } } +/** + * \ingroup propagation-tests + * + * \brief 3GPP Propagation models TestSuite + * + * This TestSuite tests the following models: + * - ThreeGppRmaPropagationLossModel + * - ThreeGppUmaPropagationLossModel + * - ThreeGppUmiPropagationLossModel + * - ThreeGppIndoorOfficePropagationLossModel + * - ThreeGppV2vUrbanPropagationLossModel + * - ThreeGppV2vHighwayPropagationLossModel + * - ThreeGppShadowing + */ class ThreeGppPropagationLossModelsTestSuite : public TestSuite { public: @@ -1225,4 +1260,5 @@ ThreeGppPropagationLossModelsTestSuite::ThreeGppPropagationLossModelsTestSuite ( AddTestCase (new ThreeGppShadowingTestCase, TestCase::QUICK); } -static ThreeGppPropagationLossModelsTestSuite propagationLossModelsTestSuite; +/// Static variable for test initialization +static ThreeGppPropagationLossModelsTestSuite g_propagationLossModelsTestSuite;