src/core/callback-test.cc
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Sun, 02 Mar 2008 21:00:37 +0100
changeset 2531 b451b5fc8b57
parent 1963 007214146da7
child 2834 1aab57845b07
permissions -rw-r--r--
implement context-based trace connection
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
/*
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
 * Copyright (c) 2005,2006 INRIA
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
 * All rights reserved.
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     5
 *
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
 * This program is free software; you can redistribute it and/or modify
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     7
 * it under the terms of the GNU General Public License version 2 as
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
 * published by the Free Software Foundation;
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     9
 *
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    10
 * This program is distributed in the hope that it will be useful,
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    13
 * GNU General Public License for more details.
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    14
 *
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    16
 * along with this program; if not, write to the Free Software
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    17
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    18
 *
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    19
 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    20
 */
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    21
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    22
#include "test.h"
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    23
#include "callback.h"
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    24
#include <stdint.h>
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    25
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    26
#ifdef RUN_SELF_TESTS
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    27
16
99e833adbb46 change yans namespace to ns3
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 9
diff changeset
    28
namespace ns3 {
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    29
53
ae406f4957d5 variable/method/function coding style update
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 16
diff changeset
    30
static bool gTest5 = false;
ae406f4957d5 variable/method/function coding style update
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 16
diff changeset
    31
static bool gTest6 = false;
ae406f4957d5 variable/method/function coding style update
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 16
diff changeset
    32
static bool gTest7 = false;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    33
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
    34
void Test5 (void)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    35
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
    36
  gTest5 = true;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    37
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    38
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
    39
void Test6 (int)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    40
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
    41
  gTest6 = true;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    42
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    43
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
    44
int Test7 (int a)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    45
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
    46
  gTest7 = true;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
    47
  return a;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    48
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    49
345
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
    50
void *Test9 (bool *a)
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
    51
{
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
    52
  return a;
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
    53
}
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
    54
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
    55
void *Test10 (bool *a, int const & b)
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
    56
{
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
    57
  return a;
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
    58
}
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
    59
1417
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
    60
void TestFZero (void) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
    61
void TestFOne (int) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
    62
void TestFTwo (int, int) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
    63
void TestFThree (int, int, int) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
    64
void TestFFour (int, int, int, int) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
    65
void TestFFive (int, int, int, int, int) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
    66
void TestFSix (int, int, int, int, int, int) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
    67
1418
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
    68
void TestFROne (int &) {}
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
    69
void TestFRTwo (int &, int &) {}
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
    70
void TestFRThree (int &, int &, int &) {}
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
    71
void TestFRFour (int &, int &, int &, int &) {}
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
    72
void TestFRFive (int &, int &, int &, int &, int &) {}
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
    73
void TestFRSix (int &, int &, int &, int &, int &, int &) {}
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
    74
1963
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    75
class X : public ns3::Test 
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    76
{
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    77
public:
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    78
  X () : Test ("Callback") {}
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    79
  void PublicParent (void) {}
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    80
protected:
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    81
  static void StaticProtectedParent (void) {}
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    82
  void ProtectedParent (void) {}
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    83
private:
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    84
  void PrivateParent (void) {}
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    85
};
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    86
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    87
class CallbackTest : public X 
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
    88
{
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    89
private:
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
    90
  bool m_test1;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
    91
  bool m_test2;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
    92
  bool m_test3;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
    93
  bool m_test4;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    94
public:
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
    95
  CallbackTest ();
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
    96
  virtual bool RunTests (void);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
    97
  void Reset (void);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
    98
  bool IsWrong (void);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
    99
  void Test1 (void);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   100
  int Test2 (void);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   101
  void Test3 (double a);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   102
  int Test4 (double a, int b);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   103
  void Test8 (Callback<void, int> callback);
1417
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   104
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   105
  void TestZero (void) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   106
  void TestOne (int) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   107
  void TestTwo (int, int) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   108
  void TestThree (int, int, int) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   109
  void TestFour (int, int, int, int) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   110
  void TestFive (int, int, int, int, int) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   111
  void TestSix (int, int, int, int, int, int) {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   112
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   113
  void TestCZero (void) const {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   114
  void TestCOne (int) const {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   115
  void TestCTwo (int, int) const {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   116
  void TestCThree (int, int, int) const {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   117
  void TestCFour (int, int, int, int) const {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   118
  void TestCFive (int, int, int, int, int) const {}
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   119
  void TestCSix (int, int, int, int, int, int) const {}
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   120
};
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   121
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   122
CallbackTest::CallbackTest ()
1963
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
   123
  : m_test1 (false),
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   124
    m_test2 (false),
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   125
    m_test3 (false),
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   126
    m_test4 (false)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   127
{}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   128
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   129
void 
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   130
CallbackTest::Test1 (void)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   131
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   132
  m_test1 = true;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   133
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   134
int 
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   135
CallbackTest::Test2 (void)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   136
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   137
  m_test2 = true;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   138
  return 2;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   139
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   140
void 
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   141
CallbackTest::Test3 (double a)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   142
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   143
  m_test3 = true;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   144
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   145
int 
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   146
CallbackTest::Test4 (double a, int b)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   147
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   148
  m_test4 = true;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   149
  return 4;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   150
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   151
void
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   152
CallbackTest::Test8 (Callback<void,int> callback)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   153
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   154
  callback (3);
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   155
}
1417
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   156
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   157
bool
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   158
CallbackTest::IsWrong (void)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   159
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   160
  if (!m_test1 ||
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   161
      !m_test2 ||
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   162
      !m_test3 ||
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   163
      !m_test4 ||
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   164
      !gTest5 ||
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   165
      !gTest6 ||
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   166
      !gTest7) 
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   167
    {
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   168
      return true;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   169
    }
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   170
  return false;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   171
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   172
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   173
void
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   174
CallbackTest::Reset (void)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   175
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   176
  m_test1 = false;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   177
  m_test2 = false;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   178
  m_test3 = false;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   179
  m_test4 = false;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   180
  gTest5 = false;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   181
  gTest6 = false;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   182
  gTest7 = false;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   183
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   184
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   185
  
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   186
bool 
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   187
CallbackTest::RunTests (void)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   188
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   189
  bool ok = true;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   190
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   191
  typedef ns3::Callback<void> A;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   192
  typedef ns3::Callback<int> B;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   193
  typedef ns3::Callback<void, double> C;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   194
  typedef ns3::Callback<int, double, int> D;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   195
  typedef ns3::Callback<void> E;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   196
  typedef ns3::Callback<void,int> F;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   197
  typedef ns3::Callback<int,int> G;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   198
  
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   199
  A a0 (this, &CallbackTest::Test1);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   200
  B b0;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   201
  b0 = B (this, &CallbackTest::Test2);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   202
  C c0 = C (this, &CallbackTest::Test3);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   203
  D d0 = D (this, &CallbackTest::Test4);
345
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
   204
  E e0 = E (&Test5, true, true);
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
   205
  F f0 = F (&Test6, true, true);
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
   206
  G g0 = G (&Test7, true, true);
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   207
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   208
  a0 ();
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   209
  b0 ();
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   210
  c0 (0.0);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   211
  d0 (0.0, 1);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   212
  e0 ();
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   213
  f0 (1);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   214
  g0 (1);
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   215
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   216
  if (IsWrong ()) 
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   217
    {
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   218
      ok = false;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   219
    }
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   220
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   221
  Reset ();
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   222
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   223
  A a1 = ns3::MakeCallback (&CallbackTest::Test1, this);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   224
  B b1 = ns3::MakeCallback (&CallbackTest::Test2, this);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   225
  C c1 = ns3::MakeCallback (&CallbackTest::Test3, this);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   226
  D d1 = ns3::MakeCallback (&CallbackTest::Test4, this);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   227
  E e1 = ns3::MakeCallback (&Test5);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   228
  F f1 = ns3::MakeCallback (&Test6);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   229
  G g1 = ns3::MakeCallback (&Test7);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   230
  
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   231
  a1 ();
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   232
  b1 ();
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   233
  c1 (0.0);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   234
  d1 (0.0, 1);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   235
  e1 ();
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   236
  f1 (1);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   237
  g1 (2);
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   238
686
b5afbfc7f512 add Callback::Nullify method
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 345
diff changeset
   239
  a1.Nullify ();
b5afbfc7f512 add Callback::Nullify method
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 345
diff changeset
   240
  b1.Nullify ();
b5afbfc7f512 add Callback::Nullify method
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 345
diff changeset
   241
  c1.Nullify ();
b5afbfc7f512 add Callback::Nullify method
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 345
diff changeset
   242
  d1.Nullify ();
b5afbfc7f512 add Callback::Nullify method
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 345
diff changeset
   243
  e1.Nullify ();
b5afbfc7f512 add Callback::Nullify method
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 345
diff changeset
   244
  g1.Nullify ();
b5afbfc7f512 add Callback::Nullify method
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 345
diff changeset
   245
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   246
  Test8 (f1);
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   247
686
b5afbfc7f512 add Callback::Nullify method
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 345
diff changeset
   248
  f1.Nullify ();
b5afbfc7f512 add Callback::Nullify method
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 345
diff changeset
   249
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   250
  Callback<void, int64_t,int64_t> a2;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   251
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   252
  if (IsWrong ()) 
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   253
    {
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   254
      ok = false;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   255
    }
345
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
   256
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
   257
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
   258
  MakeBoundCallback (&Test7, 0);
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
   259
  bool v;
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
   260
  MakeBoundCallback (&Test9, &v);
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
   261
  MakeBoundCallback (&Test10, &v);
47b41507a45a move channel.cc channel.h to node directory; merge ns-3-tracing from mathieu
Tom Henderson <tomh@tomh.org>
parents: 150
diff changeset
   262
1417
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   263
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   264
  MakeCallback (&CallbackTest::TestZero, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   265
  MakeCallback (&CallbackTest::TestOne, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   266
  MakeCallback (&CallbackTest::TestTwo, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   267
  MakeCallback (&CallbackTest::TestThree, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   268
  MakeCallback (&CallbackTest::TestFour, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   269
  MakeCallback (&CallbackTest::TestFive, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   270
  MakeCallback (&CallbackTest::TestSix, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   271
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   272
  MakeCallback (&CallbackTest::TestCZero, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   273
  MakeCallback (&CallbackTest::TestCOne, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   274
  MakeCallback (&CallbackTest::TestCTwo, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   275
  MakeCallback (&CallbackTest::TestCThree, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   276
  MakeCallback (&CallbackTest::TestCFour, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   277
  MakeCallback (&CallbackTest::TestCFive, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   278
  MakeCallback (&CallbackTest::TestCSix, this);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   279
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   280
  MakeCallback (&TestFZero);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   281
  MakeCallback (&TestFOne);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   282
  MakeCallback (&TestFTwo);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   283
  MakeCallback (&TestFThree);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   284
  MakeCallback (&TestFFour);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   285
  MakeCallback (&TestFFive);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   286
  MakeCallback (&TestFSix);
60f16dd0e760 add tests, fix the failing tests and add support for 6-arg callbacks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 686
diff changeset
   287
1418
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   288
  MakeCallback (&TestFROne);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   289
  MakeCallback (&TestFRTwo);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   290
  MakeCallback (&TestFRThree);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   291
  MakeCallback (&TestFRFour);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   292
  MakeCallback (&TestFRFive);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   293
  MakeCallback (&TestFRSix);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   294
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   295
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   296
  MakeBoundCallback (&TestFOne, 1);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   297
  MakeBoundCallback (&TestFTwo, 1);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   298
  MakeBoundCallback (&TestFThree, 1);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   299
  MakeBoundCallback (&TestFFour, 1);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   300
  MakeBoundCallback (&TestFFive, 1);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   301
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   302
  MakeBoundCallback (&TestFROne, 1);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   303
  MakeBoundCallback (&TestFRTwo, 1);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   304
  MakeBoundCallback (&TestFRThree, 1);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   305
  MakeBoundCallback (&TestFRFour, 1);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   306
  MakeBoundCallback (&TestFRFive, 1);
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   307
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   308
1963
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
   309
  MakeCallback (&X::StaticProtectedParent);
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
   310
  MakeCallback (&X::PublicParent, this);
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
   311
  MakeCallback (&CallbackTest::ProtectedParent, this);
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
   312
  // as expected, fails.
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
   313
  //MakeCallback (&X::PrivateParent, this);
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
   314
  // unexpected, but fails too.
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
   315
  // It does fumble me.
007214146da7 add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1418
diff changeset
   316
  //MakeCallback (&X::ProtectedParent, this);
1418
4145333dd0e6 add bound callback tests and make them work
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1417
diff changeset
   317
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 133
diff changeset
   318
  return ok;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   319
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   320
53
ae406f4957d5 variable/method/function coding style update
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 16
diff changeset
   321
static CallbackTest gCallbackTest;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   322
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   323
}; // namespace
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   324
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   325
#endif /* RUN_SELF_TESTS */