Test frequency reuse algorithm by teleporing UEs to different parts of area and checking if the frequency is used according to the frequency pattern for different parts of area. More...
#include "lte-test-frequency-reuse.h"
Public Member Functions | |
LteFrAreaTestCase (std::string name, std::string schedulerType) | |
Constructor. More... | |
~LteFrAreaTestCase () override | |
void | DlDataRxStart (Ptr< const SpectrumValue > spectrumValue) |
DL data receive start function. More... | |
void | SetDlExpectedValues (double expectedPower, std::vector< bool > expectedDlRb) |
Set DL expected values function. More... | |
void | SetUlExpectedValues (double expectedPower, std::vector< bool > expectedDlRb) |
Set UL expected values function. More... | |
void | SimpleTeleportUe (uint32_t x, uint32_t y) |
Simple teleport UE function. More... | |
void | TeleportUe (uint32_t x, uint32_t y, double expectedPower, std::vector< bool > expectedDlRb) |
Teleport UE function. More... | |
void | TeleportUe2 (Ptr< Node > ueNode, uint32_t x, uint32_t y, double expectedPower, std::vector< bool > expectedDlRb) |
Teleport UE 2 function. More... | |
void | UlDataRxStart (Ptr< const SpectrumValue > spectrumValue) |
UL data receive start function. More... | |
![]() | |
TestCase (const TestCase &)=delete | |
virtual | ~TestCase () |
Destructor. More... | |
std::string | GetName () const |
TestCase & | operator= (const TestCase &)=delete |
Protected Member Functions | |
void | DoRun () override |
Implementation to actually run this TestCase. More... | |
![]() | |
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 TestCsse. 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... | |
Protected Attributes | |
uint16_t | m_dlBandwidth |
the DL bandwidth More... | |
double | m_expectedDlPower |
the expected DL power More... | |
std::vector< bool > | m_expectedDlRb |
the expected DL per RB More... | |
double | m_expectedUlPower |
expected UL power More... | |
std::vector< bool > | m_expectedUlRb |
expected UL per RB More... | |
std::string | m_schedulerType |
the scheduler type More... | |
Time | m_teleportTime |
the telport time More... | |
Ptr< MobilityModel > | m_ueMobility |
the UE mobility model More... | |
uint16_t | m_ulBandwidth |
the UL bandwidth More... | |
bool | m_usedWrongDlPower |
used wrong DL power? More... | |
bool | m_usedWrongDlRbg |
used wrong DL RBG? More... | |
bool | m_usedWrongUlPower |
used wrong UL power? More... | |
bool | m_usedWrongUlRbg |
used wrong UL RBG? More... | |
Additional Inherited Members | |
![]() | |
enum | TestDuration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 } |
How long the test takes to execute. More... | |
Test frequency reuse algorithm by teleporing UEs to different parts of area and checking if the frequency is used according to the frequency pattern for different parts of area.
Test fails if the muted frequencies for a given part of area are being used by UE.
Definition at line 218 of file lte-test-frequency-reuse.h.
LteFrAreaTestCase::LteFrAreaTestCase | ( | std::string | name, |
std::string | schedulerType | ||
) |
Constructor.
name | the reference name |
schedulerType | the scheduler type |
Definition at line 796 of file lte-test-frequency-reuse.cc.
References m_dlBandwidth, m_ulBandwidth, m_usedWrongDlRbg, and m_usedWrongUlRbg.
|
override |
Definition at line 806 of file lte-test-frequency-reuse.cc.
void LteFrAreaTestCase::DlDataRxStart | ( | Ptr< const SpectrumValue > | spectrumValue | ) |
DL data receive start function.
spectrumValue | the DL receive specturm value |
Definition at line 811 of file lte-test-frequency-reuse.cc.
References m_dlBandwidth, m_expectedDlPower, m_expectedDlRb, m_teleportTime, m_usedWrongDlRbg, ns3::MilliSeconds(), ns3::Now(), NS_LOG_DEBUG, and NS_TEST_ASSERT_MSG_EQ_TOL.
Referenced by DlDataRxStartNofiticationArea().
|
overrideprotectedvirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Reimplemented in LteStrictFrAreaTestCase, LteSoftFrAreaTestCase, LteSoftFfrAreaTestCase, LteEnhancedFfrAreaTestCase, and LteDistributedFfrAreaTestCase.
Definition at line 955 of file lte-test-frequency-reuse.cc.
void LteFrAreaTestCase::SetDlExpectedValues | ( | double | expectedPower, |
std::vector< bool > | expectedDlRb | ||
) |
Set DL expected values function.
expectedPower | the expected power |
expectedDlRb | the expected DL pwr RB |
Definition at line 939 of file lte-test-frequency-reuse.cc.
References m_expectedDlPower, m_expectedDlRb, and NS_LOG_FUNCTION.
void LteFrAreaTestCase::SetUlExpectedValues | ( | double | expectedPower, |
std::vector< bool > | expectedDlRb | ||
) |
Set UL expected values function.
expectedPower | the expected power |
expectedDlRb | the expected DL pwr RB |
Definition at line 947 of file lte-test-frequency-reuse.cc.
References m_expectedUlPower, m_expectedUlRb, and NS_LOG_FUNCTION.
Referenced by LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
Simple teleport UE function.
x | the X position |
y | the Y position |
Definition at line 899 of file lte-test-frequency-reuse.cc.
References m_teleportTime, m_ueMobility, ns3::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::MobilityModel::SetPosition().
void LteFrAreaTestCase::TeleportUe | ( | uint32_t | x, |
uint32_t | y, | ||
double | expectedPower, | ||
std::vector< bool > | expectedDlRb | ||
) |
Teleport UE function.
x | the X position |
y | the Y position |
expectedPower | the expected power |
expectedDlRb | the expected DL pwr RB |
Definition at line 908 of file lte-test-frequency-reuse.cc.
References m_expectedDlPower, m_expectedDlRb, m_teleportTime, m_ueMobility, ns3::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::MobilityModel::SetPosition().
Referenced by LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
void LteFrAreaTestCase::TeleportUe2 | ( | Ptr< Node > | ueNode, |
uint32_t | x, | ||
uint32_t | y, | ||
double | expectedPower, | ||
std::vector< bool > | expectedDlRb | ||
) |
Teleport UE 2 function.
ueNode | the UE node |
x | the X position |
y | the Y position |
expectedPower | the expected power |
expectedDlRb | the expected DL pwr RB |
Definition at line 922 of file lte-test-frequency-reuse.cc.
References ns3::Object::GetObject(), m_expectedDlPower, m_expectedDlRb, m_teleportTime, ns3::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::MobilityModel::SetPosition().
Referenced by LteDistributedFfrAreaTestCase::DoRun().
void LteFrAreaTestCase::UlDataRxStart | ( | Ptr< const SpectrumValue > | spectrumValue | ) |
UL data receive start function.
spectrumValue | the UL receive specturm value |
Definition at line 847 of file lte-test-frequency-reuse.cc.
References m_expectedUlPower, m_expectedUlRb, m_teleportTime, m_usedWrongUlRbg, ns3::MilliSeconds(), ns3::Now(), NS_LOG_DEBUG, and NS_TEST_ASSERT_MSG_EQ_TOL.
Referenced by UlDataRxStartNofiticationArea().
|
protected |
the DL bandwidth
Definition at line 287 of file lte-test-frequency-reuse.h.
Referenced by LteFrAreaTestCase(), DlDataRxStart(), LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
|
protected |
the expected DL power
Definition at line 293 of file lte-test-frequency-reuse.h.
Referenced by DlDataRxStart(), SetDlExpectedValues(), TeleportUe(), and TeleportUe2().
|
protected |
the expected DL per RB
Definition at line 294 of file lte-test-frequency-reuse.h.
Referenced by DlDataRxStart(), SetDlExpectedValues(), TeleportUe(), and TeleportUe2().
|
protected |
expected UL power
Definition at line 298 of file lte-test-frequency-reuse.h.
Referenced by SetUlExpectedValues(), and UlDataRxStart().
|
protected |
expected UL per RB
Definition at line 299 of file lte-test-frequency-reuse.h.
Referenced by SetUlExpectedValues(), and UlDataRxStart().
|
protected |
the scheduler type
Definition at line 285 of file lte-test-frequency-reuse.h.
Referenced by LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
|
protected |
the telport time
Definition at line 290 of file lte-test-frequency-reuse.h.
Referenced by DlDataRxStart(), SimpleTeleportUe(), TeleportUe(), TeleportUe2(), and UlDataRxStart().
|
protected |
the UE mobility model
Definition at line 291 of file lte-test-frequency-reuse.h.
Referenced by LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), LteDistributedFfrAreaTestCase::DoRun(), SimpleTeleportUe(), and TeleportUe().
|
protected |
the UL bandwidth
Definition at line 288 of file lte-test-frequency-reuse.h.
Referenced by LteFrAreaTestCase(), LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
|
protected |
used wrong DL power?
Definition at line 296 of file lte-test-frequency-reuse.h.
|
protected |
used wrong DL RBG?
Definition at line 295 of file lte-test-frequency-reuse.h.
Referenced by LteFrAreaTestCase(), DlDataRxStart(), LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
|
protected |
used wrong UL power?
Definition at line 301 of file lte-test-frequency-reuse.h.
|
protected |
used wrong UL RBG?
Definition at line 300 of file lte-test-frequency-reuse.h.
Referenced by LteFrAreaTestCase(), LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), LteDistributedFfrAreaTestCase::DoRun(), and UlDataRxStart().