add some tests
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Mon, 15 Oct 2007 16:17:15 +0200
changeset 1963 007214146da7
parent 1962 600b310a3218
child 1964 041240a915f8
add some tests
src/core/callback-test.cc
--- a/src/core/callback-test.cc	Mon Oct 15 12:58:53 2007 +0200
+++ b/src/core/callback-test.cc	Mon Oct 15 16:17:15 2007 +0200
@@ -72,7 +72,20 @@
 void TestFRFive (int &, int &, int &, int &, int &) {}
 void TestFRSix (int &, int &, int &, int &, int &, int &) {}
 
-class CallbackTest : public ns3::Test {
+class X : public ns3::Test 
+{
+public:
+  X () : Test ("Callback") {}
+  void PublicParent (void) {}
+protected:
+  static void StaticProtectedParent (void) {}
+  void ProtectedParent (void) {}
+private:
+  void PrivateParent (void) {}
+};
+
+class CallbackTest : public X 
+{
 private:
   bool m_test1;
   bool m_test2;
@@ -107,8 +120,7 @@
 };
 
 CallbackTest::CallbackTest ()
-  : ns3::Test ("Callback"),
-    m_test1 (false),
+  : m_test1 (false),
     m_test2 (false),
     m_test3 (false),
     m_test4 (false)
@@ -294,6 +306,14 @@
   MakeBoundCallback (&TestFRFive, 1);
 
 
+  MakeCallback (&X::StaticProtectedParent);
+  MakeCallback (&X::PublicParent, this);
+  MakeCallback (&CallbackTest::ProtectedParent, this);
+  // as expected, fails.
+  //MakeCallback (&X::PrivateParent, this);
+  // unexpected, but fails too.
+  // It does fumble me.
+  //MakeCallback (&X::ProtectedParent, this);
 
   return ok;
 }