This is the test case for testing different configuration of CQI generation. More...
#include "lte-test-cqi-generation.h"
Public Member Functions | |
LteCqiGenerationTestCase (std::string name, bool usePdcchForCqiGeneration, uint16_t dlMcs, uint16_t ulMcs) | |
Constructor. More... | |
~LteCqiGenerationTestCase () override | |
void | DlScheduling (DlSchedulingCallbackInfo dlInfo) |
DL Scheduling function. More... | |
void | UlScheduling (uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcs, uint16_t sizeTb) |
UL Scheduling function. 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 | DoRun () override |
Implementation to actually run this TestCase. More... | |
Private Attributes | |
uint16_t | m_dlMcs |
the DL MCS More... | |
uint16_t | m_ulMcs |
the UL MCS More... | |
bool | m_usePdschForCqiGeneration |
use PDCCH for CQI generation 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... | |
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.
LteCqiGenerationTestCase::LteCqiGenerationTestCase | ( | std::string | name, |
bool | usePdcchForCqiGeneration, | ||
uint16_t | dlMcs, | ||
uint16_t | ulMcs | ||
) |
Constructor.
name | reference name |
usePdcchForCqiGeneration | use PDCCH for CQI generation |
dlMcs | DL MCS |
ulMcs | UL MCS |
Definition at line 153 of file lte-test-cqi-generation.cc.
References m_usePdschForCqiGeneration, and NS_LOG_INFO.
|
override |
Definition at line 165 of file lte-test-cqi-generation.cc.
void LteCqiGenerationTestCase::DlScheduling | ( | DlSchedulingCallbackInfo | dlInfo | ) |
DL Scheduling function.
dlInfo | DL info |
Definition at line 170 of file lte-test-cqi-generation.cc.
References m_dlMcs, ns3::DlSchedulingCallbackInfo::mcsTb1, ns3::MilliSeconds(), ns3::Now(), and NS_TEST_ASSERT_MSG_EQ.
Referenced by LteTestDlSchedulingCallback().
|
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::LteHelper::ActivateDataRadioBearer(), ns3::NetDeviceContainer::Add(), ns3::LteHelper::Attach(), ns3::Config::Connect(), ns3::NodeContainer::Create(), ns3::NetDeviceContainer::Get(), ns3::NodeContainer::Get(), ns3::LteHelper::InstallEnbDevice(), ns3::LteHelper::InstallUeDevice(), LteTestDlSchedulingCallback(), LteTestUlSchedulingCallback(), m_usePdschForCqiGeneration, ns3::MakeBoundCallback(), third::mobility, NS_LOG_DEBUG, ns3::Config::Reset(), ns3::Seconds(), ns3::Config::SetDefault(), ns3::LteHelper::SetFfrAlgorithmAttribute(), ns3::LteHelper::SetFfrAlgorithmType(), ns3::LteHelper::SetSchedulerAttribute(), and ns3::LteHelper::SetSchedulerType().
void LteCqiGenerationTestCase::UlScheduling | ( | uint32_t | frameNo, |
uint32_t | subframeNo, | ||
uint16_t | rnti, | ||
uint8_t | mcs, | ||
uint16_t | sizeTb | ||
) |
UL Scheduling function.
frameNo | frame number |
subframeNo | subframe number |
rnti | the RNTI |
mcs | the MCS |
sizeTb | size |
Definition at line 182 of file lte-test-cqi-generation.cc.
References m_ulMcs, ns3::MilliSeconds(), ns3::Now(), and NS_TEST_ASSERT_MSG_EQ.
Referenced by LteTestUlSchedulingCallback().
|
private |
|
private |
|
private |
use PDCCH for CQI generation
Definition at line 91 of file lte-test-cqi-generation.h.
Referenced by LteCqiGenerationTestCase(), and DoRun().