merge
authorPavel Boyko <boyko@iitp.ru>
Thu, 11 Mar 2010 13:37:22 +0300
changeset 6123 4fc850094aeb
parent 6122 0c5b267cc89d (current diff)
parent 6121 bd7f93a8ee33 (diff)
child 6124 c5ac3970262c
merge
--- a/src/common/propagation-loss-model-test-suite.cc	Thu Mar 11 13:37:02 2010 +0300
+++ b/src/common/propagation-loss-model-test-suite.cc	Thu Mar 11 13:37:22 2010 +0300
@@ -367,41 +367,58 @@
   return GetErrorStatus ();
 }
 
-struct MatrixPropagationLossModelTestCase : public TestCase
+class MatrixPropagationLossModelTestCase : public TestCase
+{
+public:
+  MatrixPropagationLossModelTestCase ();
+  virtual ~MatrixPropagationLossModelTestCase ();
+
+private:
+  virtual bool DoRun (void);
+};
+
+MatrixPropagationLossModelTestCase::MatrixPropagationLossModelTestCase ()
+  : TestCase ("Test MatrixPropagationLossModel")
 {
-  MatrixPropagationLossModelTestCase () : TestCase ("Test MatrixPropagationLossModel") {}
+}
+
+MatrixPropagationLossModelTestCase::~MatrixPropagationLossModelTestCase ()
+{
+}
+
+bool
+MatrixPropagationLossModelTestCase::DoRun (void)
+{
+  Ptr<Node> n[3];
+  Ptr<MobilityModel> m[3];
+  for (int i = 0; i < 3; ++i)
+    {
+      n[i] = CreateObject<Node> ();
+      m[i] = CreateObject<ConstantPositionMobilityModel> ();
+      n[i]->AggregateObject (m[i]);
+    }
   
-  bool DoRun ()
-  {
-    Ptr<Node> n[3];
-    Ptr<MobilityModel> m[3];
-    for (int i = 0; i < 3; ++i)
-      {
-        n[i] = CreateObject<Node> ();
-        m[i] = CreateObject<ConstantPositionMobilityModel> ();
-        n[i]->AggregateObject (m[i]);
-      }
-    
-    MatrixPropagationLossModel loss;
-    // no loss by default
-    loss.SetDefaultLoss (0);       
-    // -10 dB for 0 -> 1 and 1 -> 0
-    loss.SetLoss (n[0], n[1], 10); 
-    // -30 dB from 0 to 2 and -100 dB from 2 to 0
-    loss.SetLoss (n[0], n[2], 30, /*symmetric = */false); 
-    loss.SetLoss (n[2], n[0], 100, /*symmetric = */false); 
-    // default from 1 to 2
-    
-    NS_TEST_ASSERT_MSG_EQ (loss.CalcRxPower (0, m[0], m[1]), -10, "Loss 0 -> 1 incorrect");
-    NS_TEST_ASSERT_MSG_EQ (loss.CalcRxPower (0, m[1], m[0]), -10, "Loss 1 -> 0 incorrect");
-    NS_TEST_ASSERT_MSG_EQ (loss.CalcRxPower (0, m[0], m[2]), -30, "Loss 0 -> 2 incorrect");
-    NS_TEST_ASSERT_MSG_EQ (loss.CalcRxPower (0, m[2], m[0]), -100, "Loss 2 -> 0 incorrect");
-    NS_TEST_ASSERT_MSG_EQ (loss.CalcRxPower (0, m[1], m[2]), 0, "Loss 1 -> 2 incorrect");
-    NS_TEST_ASSERT_MSG_EQ (loss.CalcRxPower (0, m[2], m[1]), 0, "Loss 2 -> 1 incorrect");
-    
-    return GetErrorStatus ();
-  }
-};
+  MatrixPropagationLossModel loss;
+  // no loss by default
+  loss.SetDefaultLoss (0);       
+  // -10 dB for 0 -> 1 and 1 -> 0
+  loss.SetLoss (n[0], n[1], 10); 
+  // -30 dB from 0 to 2 and -100 dB from 2 to 0
+  loss.SetLoss (n[0], n[2], 30, /*symmetric = */false); 
+  loss.SetLoss (n[2], n[0], 100, /*symmetric = */false); 
+  // default from 1 to 2
+  
+  NS_TEST_ASSERT_MSG_EQ (loss.CalcRxPower (0, m[0], m[1]), -10, "Loss 0 -> 1 incorrect");
+  NS_TEST_ASSERT_MSG_EQ (loss.CalcRxPower (0, m[1], m[0]), -10, "Loss 1 -> 0 incorrect");
+  NS_TEST_ASSERT_MSG_EQ (loss.CalcRxPower (0, m[0], m[2]), -30, "Loss 0 -> 2 incorrect");
+  NS_TEST_ASSERT_MSG_EQ (loss.CalcRxPower (0, m[2], m[0]), -100, "Loss 2 -> 0 incorrect");
+  NS_TEST_ASSERT_MSG_EQ (loss.CalcRxPower (0, m[1], m[2]), 0, "Loss 1 -> 2 incorrect");
+  NS_TEST_ASSERT_MSG_EQ (loss.CalcRxPower (0, m[2], m[1]), 0, "Loss 2 -> 1 incorrect");
+
+  Simulator::Destroy ();
+  
+  return GetErrorStatus ();
+}
 
 class PropagationLossModelsTestSuite : public TestSuite
 {