25 #include "ns3/lte-rlc-am.h"
26 #include "ns3/lte-rlc-header.h"
27 #include "ns3/simulator.h"
38 :
TestSuite(
"lte-rlc-am-transmitter", SYSTEM)
78 Packet::EnablePrinting();
83 txPdcp = CreateObject<LteTestPdcp>();
86 txRlc = CreateObject<LteRlcAm>();
91 txMac = CreateObject<LteTestMac>();
104 std::string shouldReceived,
105 std::string assertMsg)
107 Simulator::Schedule(time,
150 Simulator::Destroy();
193 Simulator::Destroy();
230 Simulator::Destroy();
301 (4 + 2 + 1 + 2 + 1 + 2 + 1) + (6 + 8 + 12 + 6 + 10 + 10 + 3));
303 "UVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVW",
311 Simulator::Destroy();
Test 4.1.1.3 Test that concatenation functionality works properly.
void DoRun() override
Implementation to actually run this TestCase.
LteRlcAmTransmitterConcatenationTestCase()
~LteRlcAmTransmitterConcatenationTestCase() override
Test 4.1.1.1 Test that SDU transmitted at PDCP corresponds to PDU received by MAC.
void DoRun() override
Implementation to actually run this TestCase.
LteRlcAmTransmitterOneSduTestCase()
~LteRlcAmTransmitterOneSduTestCase() override
Test 4.1.1.4 Test checks functionality of Report Buffer Status by testing primitive parameters.
LteRlcAmTransmitterReportBufferStatusTestCase()
~LteRlcAmTransmitterReportBufferStatusTestCase() override
void DoRun() override
Implementation to actually run this TestCase.
Test 4.1.1.2 Test the correct functionality of the Segmentation.
void DoRun() override
Implementation to actually run this TestCase.
LteRlcAmTransmitterSegmentationTestCase()
~LteRlcAmTransmitterSegmentationTestCase() override
Test case used by LteRlcAmTransmitterOneSduTestCase to create topology and to implement functionaliti...
Ptr< LteTestPdcp > txPdcp
the transmit PDCP
~LteRlcAmTransmitterTestCase() override
void CheckDataReceived(Time time, std::string shouldReceived, std::string assertMsg)
Check data received function.
void DoRun() override
Implementation to actually run this TestCase.
void DoCheckDataReceived(std::string shouldReceived, std::string assertMsg)
Check data received function.
Ptr< LteRlc > txRlc
the RLC
Ptr< LteTestMac > txMac
the MAC
LteRlcAmTransmitterTestCase()
TestSuite 4.1.1 RLC AM: Only transmitter functionality.
LteRlcAmTransmitterTestSuite()
TestSuite 4.1.1 RLC AM: Only transmitter.
void SetLteRlcSapUser(LteRlcSapUser *s)
void SetRnti(uint16_t rnti)
void SetLteMacSapProvider(LteMacSapProvider *s)
LteMacSapUser * GetLteMacSapUser()
void SetLcId(uint8_t lcId)
LteRlcSapProvider * GetLteRlcSapProvider()
void SendTxOpportunity(Time time, uint32_t bytes)
Send transmit opportunity function.
void SetLteMacSapUser(LteMacSapUser *s)
Set the MAC SAP user.
LteMacSapProvider * GetLteMacSapProvider()
Get the MAC SAP provider.
std::string GetDataReceived()
Get data received function.
void SetRlcHeaderType(uint8_t rlcHeaderType)
Set RLC header type.
void SetLteRlcSapProvider(LteRlcSapProvider *s)
Set the RLC SAP provider.
LteRlcSapUser * GetLteRlcSapUser()
Get the RLC SAP user.
void SendData(Time time, std::string dataToSend)
Send data function.
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
Simulation virtual time values and global simulation resolution.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
static LteRlcAmTransmitterTestSuite lteRlcAmTransmitterTestSuite
Static variable for test initialization.
#define NS_TEST_ASSERT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report and abort if not.
Time Seconds(double value)
Construct a Time in the indicated unit.
Every class exported by the ns3 library is enclosed in the ns3 namespace.