A Discrete-Event Network Simulator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
LenaPfFfMacSchedulerTestCase2 Class Reference

#include <lte-test-pf-ff-mac-scheduler.h>

+ Inheritance diagram for LenaPfFfMacSchedulerTestCase2:
+ Collaboration diagram for LenaPfFfMacSchedulerTestCase2:

Public Member Functions

 LenaPfFfMacSchedulerTestCase2 (std::vector< uint16_t > dist, std::vector< uint32_t > estThrPfDl, std::vector< uint32_t > estThrPfUl, bool errorModelEnabled)
virtual ~LenaPfFfMacSchedulerTestCase2 ()
- Public Member Functions inherited from ns3::TestCase
virtual ~TestCase ()
 Destructor. More...
std::string GetName (void) const

Private Member Functions

virtual void DoRun (void)
 Implementation to actually run this TestCase. More...

Static Private Member Functions

static std::string BuildNameString (uint16_t nUser, std::vector< uint16_t > dist)

Private Attributes

std::vector< uint16_t > m_dist
bool m_errorModelEnabled
std::vector< uint32_t > m_estThrPfDl
std::vector< uint32_t > m_estThrPfUl
uint16_t m_nUser

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)
void AddTestCase (TestCase *testCase) NS_DEPRECATED
 Add an individual child TestCase case to this TestCase. More...
void AddTestCase (TestCase *testCase, enum TestDuration duration)
 Add an individual child TestCase to this test suite. More...
bool GetErrorStatus (void) const NS_DEPRECATED
TestCaseGetParent () const
bool IsStatusFailure (void) const
bool IsStatusSuccess (void) const
void SetDataDir (std::string directory)
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
bool MustContinueOnFailure (void) const
std::string CreateDataDirFilename (std::string filename)
std::string CreateTempDirFilename (std::string filename)

Detailed Description

Definition at line 58 of file lte-test-pf-ff-mac-scheduler.h.

Constructor & Destructor Documentation

LenaPfFfMacSchedulerTestCase2::LenaPfFfMacSchedulerTestCase2 ( std::vector< uint16_t >  dist,
std::vector< uint32_t >  estThrPfDl,
std::vector< uint32_t >  estThrPfUl,
bool  errorModelEnabled 

Definition at line 368 of file lte-test-pf-ff-mac-scheduler.cc.

LenaPfFfMacSchedulerTestCase2::~LenaPfFfMacSchedulerTestCase2 ( )

Definition at line 378 of file lte-test-pf-ff-mac-scheduler.cc.

Member Function Documentation

std::string LenaPfFfMacSchedulerTestCase2::BuildNameString ( uint16_t  nUser,
std::vector< uint16_t >  dist 

Definition at line 355 of file lte-test-pf-ff-mac-scheduler.cc.

void LenaPfFfMacSchedulerTestCase2::DoRun ( void  )

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Initialize Simulation Scenario: 1 eNB and m_nUser UEs

Check that the assignation is done in a "proportional fair" manner among users with different SINRs: the bandwidht should be distributed according to the ratio of the estimated throughput per TTI of each user.

Check that the assignation in uplink is done in a round robin manner.

Implements ns3::TestCase.

Definition at line 383 of file lte-test-pf-ff-mac-scheduler.cc.

References ns3::LteHelper::ActivateDataRadioBearer(), ns3::LteHelper::Attach(), ns3::NodeContainer::Create(), ns3::LteHelper::EnableRlcTraces(), ns3::NetDeviceContainer::Get(), ns3::NodeContainer::Get(), ns3::RadioBearerStatsCalculator::GetDlRxData(), ns3::Object::GetObject(), ns3::LteUeNetDevice::GetPhy(), ns3::LteEnbNetDevice::GetPhy(), ns3::LteHelper::GetRlcStats(), ns3::RadioBearerStatsCalculator::GetUlRxData(), ns3::MobilityHelper::Install(), ns3::LteHelper::InstallEnbDevice(), ns3::LteHelper::InstallUeDevice(), m_dist, m_errorModelEnabled, m_estThrPfDl, m_estThrPfUl, m_nUser, NS_LOG_FUNCTION, NS_LOG_INFO, NS_TEST_ASSERT_MSG_EQ_TOL, ns3::ObjectBase::SetAttribute(), ns3::Config::SetDefault(), ns3::MobilityHelper::SetMobilityModel(), ns3::MobilityModel::SetPosition(), and ns3::LteHelper::SetSchedulerType().

+ Here is the call graph for this function:

Member Data Documentation

std::vector<uint16_t> LenaPfFfMacSchedulerTestCase2::m_dist

Definition at line 68 of file lte-test-pf-ff-mac-scheduler.h.

Referenced by DoRun().

bool LenaPfFfMacSchedulerTestCase2::m_errorModelEnabled

Definition at line 71 of file lte-test-pf-ff-mac-scheduler.h.

Referenced by DoRun().

std::vector<uint32_t> LenaPfFfMacSchedulerTestCase2::m_estThrPfDl

Definition at line 69 of file lte-test-pf-ff-mac-scheduler.h.

Referenced by DoRun().

std::vector<uint32_t> LenaPfFfMacSchedulerTestCase2::m_estThrPfUl

Definition at line 70 of file lte-test-pf-ff-mac-scheduler.h.

Referenced by DoRun().

uint16_t LenaPfFfMacSchedulerTestCase2::m_nUser

Definition at line 67 of file lte-test-pf-ff-mac-scheduler.h.

Referenced by DoRun().

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