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

This is the test case for testing different configuration of CQI generation. More...

#include "lte-test-cqi-generation.h"

+ Inheritance diagram for LteCqiGenerationTestCase:
+ Collaboration diagram for LteCqiGenerationTestCase:

Public Member Functions

 LteCqiGenerationTestCase (std::string name, bool usePdcchForCqiGeneration, uint16_t dlMcs, uint16_t ulMcs)
 Constructor.
 
 ~LteCqiGenerationTestCase () override
 
void DlScheduling (DlSchedulingCallbackInfo dlInfo)
 DL Scheduling function.
 
void UlScheduling (uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcs, uint16_t sizeTb)
 UL Scheduling function.
 
- Public Member Functions inherited from ns3::TestCase
 TestCase (const TestCase &)=delete
 
virtual ~TestCase ()
 Destructor.
 
std::string GetName () const
 
TestCaseoperator= (const TestCase &)=delete
 

Private Member Functions

void DoRun () override
 Implementation to actually run this TestCase.
 

Private Attributes

uint16_t m_dlMcs
 the DL MCS
 
uint16_t m_ulMcs
 the UL MCS
 
bool m_usePdschForCqiGeneration
 use PDCCH for CQI generation
 

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...
 
using instead = Duration
 
- Static Public Attributes inherited from ns3::TestCase
static constexpr auto EXTENSIVE = Duration::EXTENSIVE
 
static constexpr auto QUICK = Duration::QUICK
 
static constexpr auto 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.
 
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.
 

Detailed Description

This is the test case for testing different configuration of CQI generation.

The topology consists of the two UEs and two eNbs. UEs have the same position, while eNodeBs are at the same distance from both UEs. The checking whether CQI is generated properly for two different cases: when PDCCH is used for the CQI estimation and when PDSCH is used for CQI estimation.

Definition at line 51 of file lte-test-cqi-generation.h.

Constructor & Destructor Documentation

◆ LteCqiGenerationTestCase()

LteCqiGenerationTestCase::LteCqiGenerationTestCase ( std::string  name,
bool  usePdcchForCqiGeneration,
uint16_t  dlMcs,
uint16_t  ulMcs 
)

Constructor.

Parameters
namereference name
usePdcchForCqiGenerationuse PDCCH for CQI generation
dlMcsDL MCS
ulMcsUL MCS

Definition at line 153 of file lte-test-cqi-generation.cc.

References m_usePdschForCqiGeneration, and NS_LOG_INFO.

◆ ~LteCqiGenerationTestCase()

LteCqiGenerationTestCase::~LteCqiGenerationTestCase ( )
override

Definition at line 165 of file lte-test-cqi-generation.cc.

Member Function Documentation

◆ DlScheduling()

void LteCqiGenerationTestCase::DlScheduling ( DlSchedulingCallbackInfo  dlInfo)

DL Scheduling function.

Parameters
dlInfoDL info

Definition at line 170 of file lte-test-cqi-generation.cc.

References m_dlMcs, ns3::DlSchedulingCallbackInfo::mcsTb1, ns3::MilliSeconds(), ns3::Simulator::Now(), and NS_TEST_ASSERT_MSG_EQ.

Referenced by LteTestDlSchedulingCallback().

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

◆ DoRun()

void LteCqiGenerationTestCase::DoRun ( )
overrideprivatevirtual

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Definition at line 198 of file lte-test-cqi-generation.cc.

References ns3::NetDeviceContainer::Add(), ns3::Config::Connect(), ns3::NodeContainer::Create(), ns3::Simulator::Destroy(), ns3::EpsBearer::GBR_CONV_VOICE, ns3::NetDeviceContainer::Get(), ns3::NodeContainer::Get(), LteTestDlSchedulingCallback(), LteTestUlSchedulingCallback(), m_usePdschForCqiGeneration, ns3::MakeBoundCallback(), NS_LOG_DEBUG, ns3::FfMacScheduler::PUSCH_UL_CQI, ns3::Config::Reset(), ns3::Simulator::Run(), ns3::Seconds(), ns3::Config::SetDefault(), and ns3::Simulator::Stop().

+ Here is the call graph for this function:

◆ UlScheduling()

void LteCqiGenerationTestCase::UlScheduling ( uint32_t  frameNo,
uint32_t  subframeNo,
uint16_t  rnti,
uint8_t  mcs,
uint16_t  sizeTb 
)

UL Scheduling function.

Parameters
frameNoframe number
subframeNosubframe number
rntithe RNTI
mcsthe MCS
sizeTbsize

Definition at line 182 of file lte-test-cqi-generation.cc.

References m_ulMcs, ns3::MilliSeconds(), ns3::Simulator::Now(), and NS_TEST_ASSERT_MSG_EQ.

Referenced by LteTestUlSchedulingCallback().

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

Member Data Documentation

◆ m_dlMcs

uint16_t LteCqiGenerationTestCase::m_dlMcs
private

the DL MCS

Definition at line 92 of file lte-test-cqi-generation.h.

Referenced by DlScheduling().

◆ m_ulMcs

uint16_t LteCqiGenerationTestCase::m_ulMcs
private

the UL MCS

Definition at line 93 of file lte-test-cqi-generation.h.

Referenced by UlScheduling().

◆ m_usePdschForCqiGeneration

bool LteCqiGenerationTestCase::m_usePdschForCqiGeneration
private

use PDCCH for CQI generation

Definition at line 91 of file lte-test-cqi-generation.h.

Referenced by LteCqiGenerationTestCase(), and DoRun().


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