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. | |
~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 |
TestCase & | operator= (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... | |
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 |
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. | |
TestCase * | GetParent () 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. | |
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 40 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 142 of file lte-test-cqi-generation.cc.
References m_usePdschForCqiGeneration, and NS_LOG_INFO.
|
override |
Definition at line 154 of file lte-test-cqi-generation.cc.
void LteCqiGenerationTestCase::DlScheduling | ( | DlSchedulingCallbackInfo | dlInfo | ) |
DL Scheduling function.
dlInfo | DL info |
Definition at line 159 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().
|
overrideprivatevirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 187 of file lte-test-cqi-generation.cc.
References ns3::NetDeviceContainer::Add(), ns3::Config::Connect(), ns3::NodeContainer::Create(), ns3::CreateObject(), 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().
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 171 of file lte-test-cqi-generation.cc.
References m_ulMcs, ns3::MilliSeconds(), ns3::Simulator::Now(), and NS_TEST_ASSERT_MSG_EQ.
Referenced by LteTestUlSchedulingCallback().
|
private |
|
private |
|
private |
use PDCCH for CQI generation
Definition at line 80 of file lte-test-cqi-generation.h.
Referenced by LteCqiGenerationTestCase(), and DoRun().