diff --git a/src/lte/test/lena-test-pf-ff-mac-scheduler.cc b/src/lte/test/lte-test-pf-ff-mac-scheduler.cc similarity index 90% rename from src/lte/test/lena-test-pf-ff-mac-scheduler.cc rename to src/lte/test/lte-test-pf-ff-mac-scheduler.cc index 197f6a5dc..5c017b4c4 100644 --- a/src/lte/test/lena-test-pf-ff-mac-scheduler.cc +++ b/src/lte/test/lte-test-pf-ff-mac-scheduler.cc @@ -70,23 +70,18 @@ using namespace ns3; // } -/** - * Test 1.5 Proportional Fair (PF) MAC Scheduler - */ - - -LenaTest1_5Suite::LenaTest1_5Suite () -: TestSuite ("lenaTest1.5", SYSTEM) +LenaTestPfFfMacSchedulerSuite::LenaTestPfFfMacSchedulerSuite () +: TestSuite ("lteTestPfFfMacScheduler", SYSTEM) { SetVerbose (true); NS_LOG_INFO ("creating LenaPfFfMacSchedulerTestCase"); AddTestCase (new LenaPfFfMacSchedulerTestCase); } -static LenaTest1_5Suite lenaTest1_5Suite; +static LenaTestPfFfMacSchedulerSuite lenaTestPfFfMacSchedulerSuite; LenaPfFfMacSchedulerTestCase::LenaPfFfMacSchedulerTestCase () - : TestCase ("Round Robin (RR) Mac Scheduler Test Case") + : TestCase ("Proportional Fair (PF) Mac Scheduler Test Case") { } @@ -131,8 +126,8 @@ LenaPfFfMacSchedulerTestCase::DoRun (void) */ SetVerbose (true); - - LenaHelper lena; + Ptr lena = CreateObject (); + // Create Nodes: eNodeB and UE NodeContainer enbNodes; NodeContainer ueNodes; @@ -149,17 +144,17 @@ LenaPfFfMacSchedulerTestCase::DoRun (void) // Create Devices and install them in the Nodes (eNB and UE) NetDeviceContainer enbDevs; NetDeviceContainer ueDevs; - lena.SetSchedulerType ("ns3::PfFfMacScheduler"); - enbDevs = lena.InstallEnbDevice (enbNodes); - ueDevs = lena.InstallUeDevice (ueNodes); + lena->SetSchedulerType ("ns3::PfFfMacScheduler"); + enbDevs = lena->InstallEnbDevice (enbNodes); + ueDevs = lena->InstallUeDevice (ueNodes); // Attach a UE to a eNB - lena.Attach (ueDevs, enbDevs.Get (0)); + lena->Attach (ueDevs, enbDevs.Get (0)); // Activate an EPS bearer enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE; EpsBearer bearer (q); - lena.ActivateEpsBearer (ueDevs, bearer); + lena->ActivateEpsBearer (ueDevs, bearer); Simulator::Stop (Seconds (0.005)); @@ -181,7 +176,7 @@ LenaPfFfMacSchedulerTestCase::DoRun (void) NS_LOG_INFO ("User 1 Rx Data: " << rlcStats->GetDlRxData (1,1)); NS_LOG_INFO ("User 2 Rx Data: " << rlcStats->GetDlRxData (2,1)); - NS_TEST_ASSERT_MSG_EQ_TOL (rlcStats->GetDlRxData (1,1), rlcStats->GetDlRxData (2,1), 0.01, " Unfair Throughput!"); + NS_TEST_ASSERT_MSG_EQ_TOL (rlcStats->GetDlRxData (1,1), rlcStats->GetDlRxData (2,1), 100, " Unfair Throughput!"); //NS_TEST_ASSERT_MSG_EQ_TOL (calculatedSinr, theoreticalSinr, 0.000001, "Wrong SINR !"); } diff --git a/src/lte/test/lena-test-pf-ff-mac-scheduler.h b/src/lte/test/lte-test-pf-ff-mac-scheduler.h similarity index 68% rename from src/lte/test/lena-test-pf-ff-mac-scheduler.h rename to src/lte/test/lte-test-pf-ff-mac-scheduler.h index 5c4651831..b7fc8c229 100644 --- a/src/lte/test/lena-test-pf-ff-mac-scheduler.h +++ b/src/lte/test/lte-test-pf-ff-mac-scheduler.h @@ -29,8 +29,14 @@ using namespace ns3; /** - * Test 1.5 Proportional Fair MAC Scheduler - */ +* This system test program creates different test cases with a single eNB and +* several UEs, all having the same Radio Bearer specification. In each test +* case, the UEs see the same SINR from the eNB; different test cases are +* implemented obtained by using different SINR values and different numbers of +* UEs. The test consists on checking that the obtained throughput performance +* is equal among users is consistent with the definition of proportional +* fair scheduling +*/ class LenaPfFfMacSchedulerTestCase : public TestCase { public: @@ -43,10 +49,10 @@ class LenaPfFfMacSchedulerTestCase : public TestCase -class LenaTest1_5Suite : public TestSuite +class LenaTestPfFfMacSchedulerSuite : public TestSuite { public: - LenaTest1_5Suite (); + LenaTestPfFfMacSchedulerSuite (); }; diff --git a/src/lte/test/lena-test-rr-ff-mac-scheduler.cc b/src/lte/test/lte-test-rr-ff-mac-scheduler.cc similarity index 88% rename from src/lte/test/lena-test-rr-ff-mac-scheduler.cc rename to src/lte/test/lte-test-rr-ff-mac-scheduler.cc index 233f05fb6..013f1123b 100644 --- a/src/lte/test/lena-test-rr-ff-mac-scheduler.cc +++ b/src/lte/test/lte-test-rr-ff-mac-scheduler.cc @@ -70,20 +70,17 @@ using namespace ns3; // } -/** - * Test 1.4 Round Robin (RR) MAC Scheduler - */ -LenaTest1_4Suite::LenaTest1_4Suite () -: TestSuite ("lenaTest1.4", SYSTEM) +LenaTestRrFfMacSchedulerSuite::LenaTestRrFfMacSchedulerSuite () +: TestSuite ("lteTestRrFfMacScheduler", SYSTEM) { SetVerbose (true); NS_LOG_INFO ("creating LenaRrFfMacSchedulerTestCase"); AddTestCase (new LenaRrFfMacSchedulerTestCase); } -static LenaTest1_4Suite lenaTest1_4Suite; +static LenaTestRrFfMacSchedulerSuite lenaTestRrFfMacSchedulerSuite; LenaRrFfMacSchedulerTestCase::LenaRrFfMacSchedulerTestCase () : TestCase ("Round Robin (RR) Mac Scheduler Test Case") @@ -132,7 +129,7 @@ LenaRrFfMacSchedulerTestCase::DoRun (void) SetVerbose (true); - LenaHelper lena; + Ptr lena = CreateObject (); // Create Nodes: eNodeB and UE NodeContainer enbNodes; NodeContainer ueNodes; @@ -149,17 +146,17 @@ LenaRrFfMacSchedulerTestCase::DoRun (void) // Create Devices and install them in the Nodes (eNB and UE) NetDeviceContainer enbDevs; NetDeviceContainer ueDevs; - lena.SetSchedulerType ("ns3::RrFfMacScheduler"); - enbDevs = lena.InstallEnbDevice (enbNodes); - ueDevs = lena.InstallUeDevice (ueNodes); + lena->SetSchedulerType ("ns3::RrFfMacScheduler"); + enbDevs = lena->InstallEnbDevice (enbNodes); + ueDevs = lena->InstallUeDevice (ueNodes); // Attach a UE to a eNB - lena.Attach (ueDevs, enbDevs.Get (0)); + lena->Attach (ueDevs, enbDevs.Get (0)); // Activate an EPS bearer enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE; EpsBearer bearer (q); - lena.ActivateEpsBearer (ueDevs, bearer); + lena->ActivateEpsBearer (ueDevs, bearer); Simulator::Stop (Seconds (0.005)); @@ -186,21 +183,3 @@ LenaRrFfMacSchedulerTestCase::DoRun (void) //NS_TEST_ASSERT_MSG_EQ_TOL (calculatedSinr, theoreticalSinr, 0.000001, "Wrong SINR !"); } - - - -// class LenaTest1_4Suite : public TestSuite -// { -// public: -// LenaTest1_4Suite (); -// }; -// -// LenaTest1_4Suite::LenaTest1_4Suite () -// : TestSuite ("lenaTest1.4", SYSTEM) -// { -// AddTestCase (new LenaRrFfMacSchedulerTestCase ()); -// } -// -// static LenaTest1_4Suite lenaTest1_4Suite; - - diff --git a/src/lte/test/lena-test-rr-ff-mac-scheduler.h b/src/lte/test/lte-test-rr-ff-mac-scheduler.h similarity index 68% rename from src/lte/test/lena-test-rr-ff-mac-scheduler.h rename to src/lte/test/lte-test-rr-ff-mac-scheduler.h index d191b4daf..a4a7d906d 100644 --- a/src/lte/test/lena-test-rr-ff-mac-scheduler.h +++ b/src/lte/test/lte-test-rr-ff-mac-scheduler.h @@ -29,7 +29,13 @@ using namespace ns3; /** - * Test 1.4 Round Robin (RR) MAC Scheduler + * This system test program creates different test cases with a single eNB and + * several UEs, all having the same Radio Bearer specification. In each test + * case, the UEs see the same SINR from the eNB; different test cases are + * implemented obtained by using different SINR values and different numbers of + * UEs. The test consists on checking that the obtained throughput performance + * is equal among users and matches a reference throughput value within a given + * tolerance. */ class LenaRrFfMacSchedulerTestCase : public TestCase { @@ -43,10 +49,10 @@ class LenaRrFfMacSchedulerTestCase : public TestCase -class LenaTest1_4Suite : public TestSuite +class LenaTestRrFfMacSchedulerSuite : public TestSuite { public: - LenaTest1_4Suite (); + LenaTestRrFfMacSchedulerSuite (); };