Test case for the ThreeGppChannelModel class. More...
Public Member Functions | |
ThreeGppChannelMatrixUpdateTest (uint32_t txAntennaElements=2, uint32_t rxAntennaElements=4, uint32_t txPorts=1, uint32_t rxPorts=1) | |
Constructor. More... | |
~ThreeGppChannelMatrixUpdateTest () override | |
Destructor. More... | |
Public Member Functions inherited from ns3::TestCase | |
TestCase (const TestCase &)=delete | |
virtual | ~TestCase () |
Destructor. More... | |
std::string | GetName () const |
TestCase & | operator= (const TestCase &)=delete |
Private Member Functions | |
void | DoGetChannel (Ptr< ThreeGppChannelModel > channelModel, Ptr< MobilityModel > txMob, Ptr< MobilityModel > rxMob, Ptr< PhasedArrayModel > txAntenna, Ptr< PhasedArrayModel > rxAntenna, bool update) |
This method is used to schedule the channel matrix computation at different time instants and to check if it correctly updated. More... | |
void | DoRun () override |
Build the test scenario. More... | |
Private Attributes | |
Ptr< const ThreeGppChannelModel::ChannelMatrix > | m_currentChannel |
used by DoGetChannel to store the current channel matrix More... | |
uint32_t | m_rxAntennaElements {4} |
number of rows and columns of rx antenna array More... | |
uint32_t | m_rxPorts {1} |
number of horizontal and vertical ports of rx antenna array More... | |
uint32_t | m_txAntennaElements {4} |
number of rows and columns of tx antenna array More... | |
uint32_t | m_txPorts {1} |
number of horizontal and vertical ports of tx antenna array More... | |
Additional Inherited Members | |
Public Types inherited from ns3::TestCase | |
enum | TestDuration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 } |
How long the test takes to execute. More... | |
Protected Member Functions inherited from ns3::TestCase | |
TestCase (std::string name) | |
Constructor. More... | |
void | AddTestCase (TestCase *testCase, TestDuration duration=QUICK) |
Add an individual child TestCase to this test suite. More... | |
TestCase * | GetParent () const |
Get the parent of this TestCase. More... | |
bool | IsStatusFailure () const |
Check if any tests failed. More... | |
bool | IsStatusSuccess () const |
Check if all tests passed. More... | |
void | SetDataDir (std::string directory) |
Set the data directory where reference trace files can be found. More... | |
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. More... | |
bool | MustAssertOnFailure () const |
Check if this run should assert on failure. More... | |
bool | MustContinueOnFailure () const |
Check if this run should continue on failure. More... | |
std::string | CreateDataDirFilename (std::string filename) |
Construct the full path to a file in the data directory. More... | |
std::string | CreateTempDirFilename (std::string filename) |
Construct the full path to a file in a temporary directory. More... | |
Test case for the ThreeGppChannelModel class.
It checks if the channel realizations are correctly updated during the simulation.
Definition at line 292 of file three-gpp-channel-test-suite.cc.
ThreeGppChannelMatrixUpdateTest::ThreeGppChannelMatrixUpdateTest | ( | uint32_t | txAntennaElements = 2 , |
uint32_t | rxAntennaElements = 4 , |
||
uint32_t | txPorts = 1 , |
||
uint32_t | rxPorts = 1 |
||
) |
Constructor.
txAntennaElements | the number of rows and columns of the antenna array of the transmitter |
rxAntennaElements | the number of rows and columns of the antenna array of |
txPorts | the number of vertical and horizontal ports of the antenna array of the transmitter |
rxPorts | the number of vertical and horizontal ports of the antenna array of the receiver |
Definition at line 346 of file three-gpp-channel-test-suite.cc.
References m_rxAntennaElements, m_rxPorts, m_txAntennaElements, and m_txPorts.
|
override |
Destructor.
Definition at line 358 of file three-gpp-channel-test-suite.cc.
|
private |
This method is used to schedule the channel matrix computation at different time instants and to check if it correctly updated.
channelModel | the ThreeGppChannelModel object used to generate the channel matrix |
txMob | the mobility model of the first node |
rxMob | the mobility model of the second node |
txAntenna | the antenna object associated to the first node |
rxAntenna | the antenna object associated to the second node |
update | whether if the channel matrix should be updated or not |
Definition at line 363 of file three-gpp-channel-test-suite.cc.
References ns3::Time::GetMilliSeconds(), ns3::MatrixBasedChannelModel::ChannelMatrix::m_channel, m_currentChannel, ns3::Now(), and NS_TEST_ASSERT_MSG_EQ.
Referenced by DoRun().
|
overrideprivatevirtual |
Build the test scenario.
Implements ns3::TestCase.
Definition at line 391 of file three-gpp-channel-test-suite.cc.
References ns3::Node::AddDevice(), ns3::Object::AggregateObject(), ns3::NodeContainer::Create(), DoGetChannel(), ns3::NodeContainer::Get(), m_rxAntennaElements, m_rxPorts, m_txAntennaElements, m_txPorts, ns3::MilliSeconds(), nodes, and ns3::MobilityModel::SetPosition().
|
private |
used by DoGetChannel to store the current channel matrix
Definition at line 339 of file three-gpp-channel-test-suite.cc.
Referenced by DoGetChannel().
|
private |
number of rows and columns of rx antenna array
Definition at line 341 of file three-gpp-channel-test-suite.cc.
Referenced by ThreeGppChannelMatrixUpdateTest(), and DoRun().
|
private |
number of horizontal and vertical ports of rx antenna array
Definition at line 343 of file three-gpp-channel-test-suite.cc.
Referenced by ThreeGppChannelMatrixUpdateTest(), and DoRun().
|
private |
number of rows and columns of tx antenna array
Definition at line 340 of file three-gpp-channel-test-suite.cc.
Referenced by ThreeGppChannelMatrixUpdateTest(), and DoRun().
|
private |
number of horizontal and vertical ports of tx antenna array
Definition at line 342 of file three-gpp-channel-test-suite.cc.
Referenced by ThreeGppChannelMatrixUpdateTest(), and DoRun().