A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
LteFrAreaTestCase Class Reference

Test frequency reuse algorithm by teleporting 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.
 
 ~LteFrAreaTestCase () override
 
void DlDataRxStart (Ptr< const SpectrumValue > spectrumValue)
 DL data receive start function.
 
void SetDlExpectedValues (double expectedPower, std::vector< bool > expectedDlRb)
 Set DL expected values function.
 
void SetUlExpectedValues (double expectedPower, std::vector< bool > expectedDlRb)
 Set UL expected values function.
 
void SimpleTeleportUe (uint32_t x, uint32_t y)
 Simple teleport UE function.
 
void TeleportUe (uint32_t x, uint32_t y, double expectedPower, std::vector< bool > expectedDlRb)
 Teleport UE function.
 
void TeleportUe2 (Ptr< Node > ueNode, uint32_t x, uint32_t y, double expectedPower, std::vector< bool > expectedDlRb)
 Teleport UE 2 function.
 
void UlDataRxStart (Ptr< const SpectrumValue > spectrumValue)
 UL data receive start function.
 
- Public Member Functions inherited from ns3::TestCase
 TestCase (const TestCase &)=delete
 
virtual ~TestCase ()
 Destructor.
 
std::string GetName () const
 
TestCaseoperator= (const TestCase &)=delete
 

Protected Member Functions

void DoRun () override
 Implementation to actually run this TestCase.
 
- 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.
 
TestCaseGetParent () 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.
 

Protected Attributes

uint16_t m_dlBandwidth
 the DL bandwidth
 
double m_expectedDlPower
 the expected DL power
 
std::vector< bool > m_expectedDlRb
 the expected DL per RB
 
double m_expectedUlPower
 expected UL power
 
std::vector< bool > m_expectedUlRb
 expected UL per RB
 
std::string m_schedulerType
 the scheduler type
 
Time m_teleportTime
 the teleport time
 
Ptr< MobilityModelm_ueMobility
 the UE mobility model
 
uint16_t m_ulBandwidth
 the UL bandwidth
 
bool m_usedWrongDlPower
 used wrong DL power?
 
bool m_usedWrongDlRbg
 used wrong DL RBG?
 
bool m_usedWrongUlPower
 used wrong UL power?
 
bool m_usedWrongUlRbg
 used wrong UL RBG?
 

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
 

Detailed Description

Test frequency reuse algorithm by teleporting 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 202 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 788 of file lte-test-frequency-reuse.cc.

References m_dlBandwidth, m_ulBandwidth, m_usedWrongDlRbg, and m_usedWrongUlRbg.

◆ ~LteFrAreaTestCase()

LteFrAreaTestCase::~LteFrAreaTestCase ( )
override

Definition at line 798 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 spectrum value

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

References m_dlBandwidth, m_expectedDlPower, m_expectedDlRb, m_teleportTime, m_usedWrongDlRbg, ns3::MilliSeconds(), ns3::Simulator::Now(), NS_LOG_DEBUG, and NS_TEST_ASSERT_MSG_EQ_TOL.

Referenced by DlDataRxStartNotificationArea().

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

◆ DoRun()

void LteFrAreaTestCase::DoRun ( )
overrideprotectedvirtual

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Reimplemented in LteSoftFfrAreaTestCase, LteSoftFrAreaTestCase, and LteStrictFrAreaTestCase.

Definition at line 945 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 929 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 937 of file lte-test-frequency-reuse.cc.

References m_expectedUlPower, m_expectedUlRb, and NS_LOG_FUNCTION.

Referenced by LteDistributedFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), and LteStrictFrAreaTestCase::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 889 of file lte-test-frequency-reuse.cc.

References m_teleportTime, m_ueMobility, ns3::Simulator::Now(), NS_LOG_DEBUG, and NS_LOG_FUNCTION.

+ 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 898 of file lte-test-frequency-reuse.cc.

References m_expectedDlPower, m_expectedDlRb, m_teleportTime, m_ueMobility, ns3::Simulator::Now(), NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by LteDistributedFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), and LteStrictFrAreaTestCase::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 912 of file lte-test-frequency-reuse.cc.

References m_expectedDlPower, m_expectedDlRb, m_teleportTime, ns3::Simulator::Now(), NS_LOG_DEBUG, and NS_LOG_FUNCTION.

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 spectrum value

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

References m_expectedUlPower, m_expectedUlRb, m_teleportTime, m_usedWrongUlRbg, ns3::MilliSeconds(), ns3::Simulator::Now(), NS_LOG_DEBUG, NS_TEST_ASSERT_MSG_EQ_TOL, and ns3::Time::S.

Referenced by UlDataRxStartNotificationArea().

+ 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 277 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 278 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 282 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 283 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 teleport time

Definition at line 274 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 280 of file lte-test-frequency-reuse.h.

◆ m_usedWrongDlRbg

◆ m_usedWrongUlPower

bool LteFrAreaTestCase::m_usedWrongUlPower
protected

used wrong UL power?

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

◆ m_usedWrongUlRbg


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