This test verifies the accuracy of the private GetRandomNumTransmitters() method in the TvSpectrumTransmitterHelper class. More...
Public Member Functions | |
TvHelperDistributionTestCase (uint32_t maxNumTransmitters) | |
Constructor. | |
~TvHelperDistributionTestCase () override | |
Public Member Functions inherited from ns3::TestCase | |
TestCase (const TestCase &)=delete | |
virtual | ~TestCase () |
Destructor. | |
std::string | GetName () const |
TestCase & | operator= (const TestCase &)=delete |
Private Member Functions | |
void | DoRun () override |
Implementation to actually run this TestCase. | |
Static Private Member Functions | |
static std::string | Name (uint32_t maxNumTransmitters) |
Build the test name. | |
Private Attributes | |
uint32_t | m_maxNumTransmitters |
Maximum number of transmitters. | |
Additional Inherited Members | |
Public Types inherited from ns3::TestCase | |
enum class | Duration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 } |
How long the test takes to execute. More... | |
Static Public Attributes inherited from ns3::TestCase | |
static constexpr auto | QUICK = Duration::QUICK |
Deprecated test duration simple enums. | |
static constexpr auto | EXTENSIVE = Duration::EXTENSIVE |
static constexpr auto | TAKES_FOREVER = Duration::TAKES_FOREVER |
Protected Member Functions inherited from ns3::TestCase | |
TestCase (std::string name) | |
Constructor. | |
void | AddTestCase (TestCase *testCase, Duration duration=Duration::QUICK) |
Add an individual child TestCase to this test suite. | |
TestCase * | GetParent () const |
Get the parent of this TestCase. | |
bool | IsStatusFailure () const |
Check if any tests failed. | |
bool | IsStatusSuccess () const |
Check if all tests passed. | |
void | SetDataDir (std::string directory) |
Set the data directory where reference trace files can be found. | |
void | ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line) |
Log the failure of this TestCase. | |
bool | MustAssertOnFailure () const |
Check if this run should assert on failure. | |
bool | MustContinueOnFailure () const |
Check if this run should continue on failure. | |
std::string | CreateDataDirFilename (std::string filename) |
Construct the full path to a file in the data directory. | |
std::string | CreateTempDirFilename (std::string filename) |
Construct the full path to a file in a temporary directory. | |
This test verifies the accuracy of the private GetRandomNumTransmitters() method in the TvSpectrumTransmitterHelper class.
The method generates a random number corresponding to the number of TV transmitters to create based on the given location density (low, medium, or high) and maximum possible number of TV channels. Low density will generate a transmitter for between one (a single transmitter) and one third of the number of possible channels, medium density will generate a transmitter for between one third and two thirds, and high density will generate a transmitter for between two thirds and all of the possible channels. In this test, it is verified that the lower (1) and upper (max number of possible channels input) bounds are not exceeded and that the number of transmitters to be generated does not overlap between adjacent densities. For example, given 60 possible channels, for low density between 1 and 20 transmitters can be created, for medium density between 21 and 40 transmitters can be created, and for high density between 41 and 60 transmitters can be created (all inclusive). This is tested with various cases.
Definition at line 37 of file tv-helper-distribution-test.cc.
TvHelperDistributionTestCase::TvHelperDistributionTestCase | ( | uint32_t | maxNumTransmitters | ) |
Constructor.
maxNumTransmitters | maximum number of transmitters. |
Definition at line 67 of file tv-helper-distribution-test.cc.
|
override |
Definition at line 73 of file tv-helper-distribution-test.cc.
|
overrideprivatevirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 78 of file tv-helper-distribution-test.cc.
References ns3::TvSpectrumTransmitterHelper::DENSITY_HIGH, ns3::TvSpectrumTransmitterHelper::DENSITY_LOW, ns3::TvSpectrumTransmitterHelper::DENSITY_MEDIUM, ns3::TvSpectrumTransmitterHelper::GetRandomNumTransmitters(), m_maxNumTransmitters, NS_LOG_FUNCTION, NS_TEST_ASSERT_MSG_GT, and NS_TEST_ASSERT_MSG_LT.
|
staticprivate |
Build the test name.
maxNumTransmitters | maximum number of transmitters. |
Definition at line 60 of file tv-helper-distribution-test.cc.
|
private |
Maximum number of transmitters.
Definition at line 56 of file tv-helper-distribution-test.cc.
Referenced by DoRun().