extending unit test case 3, not working yet draft
authorAnh Nguyen <trucanh524@gmail.com>
Fri, 08 Aug 2014 16:55:07 -0500
changeset 10840 5f5f6d78f29d
parent 10839 468e12b25c43
child 10841 2b82cd302a86
extending unit test case 3, not working yet
src/internet/test/codel-queue-test-suite.cc
--- a/src/internet/test/codel-queue-test-suite.cc	Fri Aug 08 08:28:24 2014 -0500
+++ b/src/internet/test/codel-queue-test-suite.cc	Fri Aug 08 16:55:07 2014 -0500
@@ -40,6 +40,7 @@
 private:
   void Enqueue (Ptr<CoDelQueue> queue, uint32_t size, uint32_t nPkt);
   void FirstDequeue (Ptr<CoDelQueue> queue, uint32_t modeSize, Ptr<Packet> p1);
+  void SecondDequeue (Ptr<CoDelQueue> queue, uint32_t modeSize, Ptr<Packet> p2); 
   void RunCoDelTest (StringValue mode);
 };
 
@@ -179,16 +180,23 @@
     }
 
   queue->Enqueue (p1);
+  NS_TEST_EXPECT_MSG_EQ (queue->GetQueueSize (), 1 * modeSize, "There should be 1 packet in there."); 
   queue->Enqueue (p2);
+  NS_TEST_EXPECT_MSG_EQ (queue->GetQueueSize (), 2 * modeSize, "There should be 2 packets in there."); 
   queue->Enqueue (p3);
+  NS_TEST_EXPECT_MSG_EQ (queue->GetQueueSize (), 3 * modeSize, "There should be 3 packets in there.");
   queue->Enqueue (p4);
+  NS_TEST_EXPECT_MSG_EQ (queue->GetQueueSize (), 4 * modeSize, "There should be 4 packets in there.");
   queue->Enqueue (p5);
+  NS_TEST_EXPECT_MSG_EQ (queue->GetQueueSize (), 5 * modeSize, "There should be 5 packets in there."); 
   queue->Enqueue (p6);
-
-  Time waitUntilDequeue =  2 * queue->GetTarget ();
+  NS_TEST_EXPECT_MSG_EQ (queue->GetQueueSize (), 6 * modeSize, "There should be 6 packets in there."); 
 
-  Simulator::Schedule (waitUntilDequeue, &CoDelQueueTestCase::FirstDequeue, this, queue, modeSize, p1);
-
+  Time waitUntilFirstDequeue =  2 * queue->GetTarget ();
+  Simulator::Schedule (waitUntilFirstDequeue, &CoDelQueueTestCase::FirstDequeue, this, queue, modeSize, p1);
+  
+  Time waitUntilSecondDequeue = waitUntilFirstDequeue + 2 * queue->GetInterval ();
+  Simulator::Schedule (waitUntilSecondDequeue, &CoDelQueueTestCase::SecondDequeue, this, queue, modeSize, p1);  
   //TODO: test CoDel while in dropping state
 }
 
@@ -207,11 +215,20 @@
   Ptr<Packet> p = queue->Dequeue ();
   NS_TEST_EXPECT_MSG_EQ ((p != 0), true, "The first packet should be removed");
   NS_TEST_EXPECT_MSG_EQ (queue->GetQueueSize (), 5 * modeSize, "There should be five packets in there");
-  NS_TEST_EXPECT_MSG_EQ (p->GetUid (), p1->GetUid (), "was this the first packet ?");
+  NS_TEST_EXPECT_MSG_EQ (p->GetUid (), p1->GetUid (), "Was this the first packet?");
 
   NS_TEST_EXPECT_MSG_EQ (queue->GetDropCount (), 0, "There should be no packet drops");
 }
 
+void 
+CoDelQueueTestCase::SecondDequeue (Ptr<CoDelQueue> queue, uint32_t modeSize, Ptr<Packet> p2)
+{
+  Ptr<Packet> p = queue->Dequeue (); 
+  NS_TEST_EXPECT_MSG_EQ ((p != 0), true, "The second packet should be removed");
+  NS_TEST_EXPECT_MSG_EQ (queue->GetQueueSize (), 4 * modeSize, "There should be four packets in there"); 
+  //NS_TEST_EXPECT_MSG_EQ (p->GetUid (), p2->GetUid (), "Was this the second packet?"); 
+}
+
 void
 CoDelQueueTestCase::DoRun (void)
 {