25 #include "ns3/lte-rlc-header.h"
26 #include "ns3/lte-rlc-um.h"
27 #include "ns3/simulator.h"
38 :
TestSuite(
"lte-rlc-um-transmitter", SYSTEM)
81 Packet::EnablePrinting();
86 txPdcp = CreateObject<LteTestPdcp>();
89 txRlc = CreateObject<LteRlcUm>();
94 txMac = CreateObject<LteTestMac>();
107 std::string shouldReceived,
108 std::string assertMsg)
110 Simulator::Schedule(time,
153 Simulator::Destroy();
195 Simulator::Destroy();
230 Simulator::Destroy();
299 (2 + 2 + 1 + 2 + 1 + 2 + 1) + (6 + 8 + 12 + 6 + 10 + 10 + 3));
301 "UVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVW",
308 Simulator::Destroy();
Test 4.1.1.3 Concatenation (n SDUs => One PDU)
void DoRun() override
Implementation to actually run this TestCase.
~LteRlcUmTransmitterConcatenationTestCase() override
LteRlcUmTransmitterConcatenationTestCase()
Test 4.1.1.1 One SDU, One PDU.
LteRlcUmTransmitterOneSduTestCase()
void DoRun() override
Implementation to actually run this TestCase.
~LteRlcUmTransmitterOneSduTestCase() override
Test 4.1.1.4 Report Buffer Status (test primitive parameters)
void DoRun() override
Implementation to actually run this TestCase.
~LteRlcUmTransmitterReportBufferStatusTestCase() override
LteRlcUmTransmitterReportBufferStatusTestCase()
Test 4.1.1.2 Segmentation (One SDU => n PDUs)
~LteRlcUmTransmitterSegmentationTestCase() override
LteRlcUmTransmitterSegmentationTestCase()
void DoRun() override
Implementation to actually run this TestCase.
Test case used by LteRlcUmTransmitterOneSduTestCase to create topology and to implement functionaliti...
void DoRun() override
Implementation to actually run this TestCase.
Ptr< LteTestPdcp > txPdcp
the transmit PDCP
void CheckDataReceived(Time time, std::string shouldReceived, std::string assertMsg)
Check data received function.
Ptr< LteRlc > txRlc
the RLC
~LteRlcUmTransmitterTestCase() override
Ptr< LteTestMac > txMac
the MAC
void DoCheckDataReceived(std::string shouldReceived, std::string assertMsg)
Check data received function.
LteRlcUmTransmitterTestCase()
TestSuite 4.1.1 for RLC UM: Only transmitter part.
LteRlcUmTransmitterTestSuite()
TestSuite 4.1.1 RLC UM: 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 LteRlcUmTransmitterTestSuite lteRlcUmTransmitterTestSuite
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.