A Discrete-Event Network Simulator
API
LteFrAreaTestCase Class Reference

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"

+ Inheritance diagram for LteFrAreaTestCase:
+ Collaboration diagram for LteFrAreaTestCase:

Public Member Functions

 LteFrAreaTestCase (std::string name, std::string schedulerType)
 Constructor. More...
 
virtual ~LteFrAreaTestCase ()
 
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...
 
- Public Member Functions inherited from ns3::TestCase
virtual ~TestCase ()
 Destructor. More...
 
std::string GetName (void) const
 

Protected Member Functions

virtual void DoRun (void)
 Implementation to actually run this TestCase. 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...
 
TestCaseGetParent () const
 Get the parent of this TestCsse. More...
 
bool IsStatusFailure (void) const
 Check if any tests failed. More...
 
bool IsStatusSuccess (void) 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 (void) const
 Check if this run should assert on failure. More...
 
bool MustContinueOnFailure (void) 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< MobilityModelm_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

- Public Types inherited from ns3::TestCase
enum  TestDuration { QUICK = 1, EXTENSIVE = 2, TAKES_FOREVER = 3 }
 How long the test takes to execute. More...
 

Detailed Description

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 200 of file lte-test-frequency-reuse.h.

Constructor & Destructor Documentation

◆ LteFrAreaTestCase()

LteFrAreaTestCase::LteFrAreaTestCase ( std::string  name,
std::string  schedulerType 
)

Constructor.

Parameters
namethe reference name
schedulerTypethe scheduler type

Definition at line 489 of file lte-test-frequency-reuse.cc.

References m_dlBandwidth, m_ulBandwidth, m_usedWrongDlRbg, and m_usedWrongUlRbg.

◆ ~LteFrAreaTestCase()

LteFrAreaTestCase::~LteFrAreaTestCase ( )
virtual

Definition at line 498 of file lte-test-frequency-reuse.cc.

Member Function Documentation

◆ DlDataRxStart()

void LteFrAreaTestCase::DlDataRxStart ( Ptr< const SpectrumValue spectrumValue)

DL data receive start function.

Parameters
spectrumValuethe DL receive specturm value

Definition at line 503 of file lte-test-frequency-reuse.cc.

References ns3::SpectrumValue::ConstValuesBegin(), ns3::SpectrumValue::ConstValuesEnd(), 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoRun()

void LteFrAreaTestCase::DoRun ( void  )
protectedvirtual

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Reimplemented in LteDistributedFfrAreaTestCase, LteEnhancedFfrAreaTestCase, LteSoftFfrAreaTestCase, LteSoftFrAreaTestCase, and LteStrictFrAreaTestCase.

Definition at line 634 of file lte-test-frequency-reuse.cc.

◆ SetDlExpectedValues()

void LteFrAreaTestCase::SetDlExpectedValues ( double  expectedPower,
std::vector< bool >  expectedDlRb 
)

Set DL expected values function.

Parameters
expectedPowerthe expected power
expectedDlRbthe expected DL pwr RB

Definition at line 618 of file lte-test-frequency-reuse.cc.

References m_expectedDlPower, m_expectedDlRb, and NS_LOG_FUNCTION.

◆ SetUlExpectedValues()

void LteFrAreaTestCase::SetUlExpectedValues ( double  expectedPower,
std::vector< bool >  expectedDlRb 
)

Set UL expected values function.

Parameters
expectedPowerthe expected power
expectedDlRbthe expected DL pwr RB

Definition at line 626 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().

+ Here is the caller graph for this function:

◆ SimpleTeleportUe()

void LteFrAreaTestCase::SimpleTeleportUe ( uint32_t  x,
uint32_t  y 
)

Simple teleport UE function.

Parameters
xthe X position
ythe Y position

Definition at line 583 of file lte-test-frequency-reuse.cc.

References m_teleportTime, m_ueMobility, ns3::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::MobilityModel::SetPosition(), and sample-rng-plot::x.

+ Here is the call graph for this function:

◆ TeleportUe()

void LteFrAreaTestCase::TeleportUe ( uint32_t  x,
uint32_t  y,
double  expectedPower,
std::vector< bool >  expectedDlRb 
)

Teleport UE function.

Parameters
xthe X position
ythe Y position
expectedPowerthe expected power
expectedDlRbthe expected DL pwr RB

Definition at line 592 of file lte-test-frequency-reuse.cc.

References m_expectedDlPower, m_expectedDlRb, m_teleportTime, m_ueMobility, ns3::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::MobilityModel::SetPosition(), and sample-rng-plot::x.

Referenced by LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TeleportUe2()

void LteFrAreaTestCase::TeleportUe2 ( Ptr< Node ueNode,
uint32_t  x,
uint32_t  y,
double  expectedPower,
std::vector< bool >  expectedDlRb 
)

Teleport UE 2 function.

Parameters
ueNodethe UE node
xthe X position
ythe Y position
expectedPowerthe expected power
expectedDlRbthe expected DL pwr RB

Definition at line 604 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, ns3::MobilityModel::SetPosition(), and sample-rng-plot::x.

Referenced by LteDistributedFfrAreaTestCase::DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UlDataRxStart()

void LteFrAreaTestCase::UlDataRxStart ( Ptr< const SpectrumValue spectrumValue)

UL data receive start function.

Parameters
spectrumValuethe UL receive specturm value

Definition at line 535 of file lte-test-frequency-reuse.cc.

References ns3::SpectrumValue::ConstValuesBegin(), ns3::SpectrumValue::ConstValuesEnd(), 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_dlBandwidth

◆ m_expectedDlPower

double LteFrAreaTestCase::m_expectedDlPower
protected

the expected DL power

Definition at line 272 of file lte-test-frequency-reuse.h.

Referenced by DlDataRxStart(), SetDlExpectedValues(), TeleportUe(), and TeleportUe2().

◆ m_expectedDlRb

std::vector<bool> LteFrAreaTestCase::m_expectedDlRb
protected

the expected DL per RB

Definition at line 273 of file lte-test-frequency-reuse.h.

Referenced by DlDataRxStart(), SetDlExpectedValues(), TeleportUe(), and TeleportUe2().

◆ m_expectedUlPower

double LteFrAreaTestCase::m_expectedUlPower
protected

expected UL power

Definition at line 277 of file lte-test-frequency-reuse.h.

Referenced by SetUlExpectedValues(), and UlDataRxStart().

◆ m_expectedUlRb

std::vector<bool> LteFrAreaTestCase::m_expectedUlRb
protected

expected UL per RB

Definition at line 278 of file lte-test-frequency-reuse.h.

Referenced by SetUlExpectedValues(), and UlDataRxStart().

◆ m_schedulerType

std::string LteFrAreaTestCase::m_schedulerType
protected

◆ m_teleportTime

Time LteFrAreaTestCase::m_teleportTime
protected

the telport time

Definition at line 269 of file lte-test-frequency-reuse.h.

Referenced by DlDataRxStart(), SimpleTeleportUe(), TeleportUe(), TeleportUe2(), and UlDataRxStart().

◆ m_ueMobility

◆ m_ulBandwidth

◆ m_usedWrongDlPower

bool LteFrAreaTestCase::m_usedWrongDlPower
protected

used wrong DL power?

Definition at line 275 of file lte-test-frequency-reuse.h.

◆ m_usedWrongDlRbg

◆ m_usedWrongUlPower

bool LteFrAreaTestCase::m_usedWrongUlPower
protected

used wrong UL power?

Definition at line 280 of file lte-test-frequency-reuse.h.

◆ m_usedWrongUlRbg


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