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)
83 txPdcp = CreateObject<LteTestPdcp>();
86 txRlc = CreateObject<LteRlcAm>();
91 txMac = CreateObject<LteTestMac>();
104 std::string shouldReceived,
105 std::string assertMsg)
301 (4 + 2 + 1 + 2 + 1 + 2 + 1) + (6 + 8 + 12 + 6 + 10 + 10 + 3));
303 "UVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVW",
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.
static void EnablePrinting()
Enable printing packets metadata.
static EventId Schedule(const Time &delay, FUNC f, Ts &&... args)
Schedule an event to expire after delay.
static void Destroy()
Execute the events scheduled with ScheduleDestroy().
static void Run()
Run the simulation.
static void Stop()
Tell the Simulator the calling event should be the last one executed.
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.