Testing that UE throughput scales linearly with number of component carriers. More...
#include "lte-test-aggregation-throughput-scale.h"
Public Member Functions | |
LteAggregationThroughputScaleTestCase (std::string name) | |
Creates an instance of the carrier aggregation throughput scaling test case. | |
~LteAggregationThroughputScaleTestCase () override | |
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 |
Setup the simulation, run it, and verify the result. | |
double | GetThroughput (uint8_t numberOfComponentCarriers) |
Get throughput function. | |
Private Attributes | |
uint16_t | m_actualCellId |
Cell ID UE has attached to. | |
uint16_t | m_expectedCellId |
Cell ID UE is expected to attach to. | |
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. | |
Testing that UE throughput scales linearly with number of component carriers.
Also attaches UE to last component carrier to make sure no code assumes that primary carrier is first.
Definition at line 35 of file lte-test-aggregation-throughput-scale.h.
LteAggregationThroughputScaleTestCase::LteAggregationThroughputScaleTestCase | ( | std::string | name | ) |
Creates an instance of the carrier aggregation throughput scaling test case.
name | name of this test |
Definition at line 52 of file lte-test-aggregation-throughput-scale.cc.
References ns3::TestCase::GetName(), and NS_LOG_FUNCTION.
|
override |
Definition at line 58 of file lte-test-aggregation-throughput-scale.cc.
References ns3::TestCase::GetName(), and NS_LOG_FUNCTION.
|
overrideprivatevirtual |
Setup the simulation, run it, and verify the result.
Implements ns3::TestCase.
Definition at line 147 of file lte-test-aggregation-throughput-scale.cc.
References GetThroughput(), m_actualCellId, m_expectedCellId, NS_TEST_ASSERT_MSG_EQ, NS_TEST_ASSERT_MSG_EQ_TOL, and throughput.
|
private |
Get throughput function.
numberOfComponentCarriers | Number of component carriers |
Definition at line 64 of file lte-test-aggregation-throughput-scale.cc.
References ns3::ApplicationContainer::Add(), ns3::CreateObject(), ns3::Simulator::Destroy(), ns3::DynamicCast(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::TestCase::GetName(), ns3::Ipv4StaticRoutingHelper::GetStaticRouting(), ns3::FriisSpectrumPropagationLossModel::GetTypeId(), m_actualCellId, m_expectedCellId, NS_LOG_FUNCTION, port, ns3::Simulator::Run(), ns3::Seconds(), ns3::Ipv4AddressHelper::SetBase(), ns3::Config::SetDefault(), sink, ns3::ApplicationContainer::Start(), and ns3::Simulator::Stop().
Referenced by DoRun().
|
private |
Cell ID UE has attached to.
Definition at line 61 of file lte-test-aggregation-throughput-scale.h.
Referenced by DoRun(), and GetThroughput().
|
private |
Cell ID UE is expected to attach to.
Definition at line 60 of file lte-test-aggregation-throughput-scale.h.
Referenced by DoRun(), and GetThroughput().