author | Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
Mon, 02 Jun 2008 10:30:24 -0700 | |
changeset 3190 | 51fe9001a679 |
parent 1678 | 00452ae23a6f |
permissions | -rw-r--r-- |
1678
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
1 |
#include "type-traits.h" |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
2 |
#include "test.h" |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
3 |
|
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
4 |
#ifdef RUN_SELF_TESTS |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
5 |
|
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
6 |
namespace ns3 { |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
7 |
|
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
8 |
class TypeTraitsTest : public Test |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
9 |
{ |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
10 |
public: |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
11 |
TypeTraitsTest (); |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
12 |
virtual bool RunTests (void); |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
13 |
}; |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
14 |
|
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
15 |
TypeTraitsTest::TypeTraitsTest () |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
16 |
: Test ("TypeTraits") |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
17 |
{} |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
18 |
bool |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
19 |
TypeTraitsTest::RunTests (void) |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
20 |
{ |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
21 |
bool result = true; |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
22 |
|
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
23 |
//TypeTraits<int &>::ReferencedType ir; |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
24 |
//TypeTraits<const int>::NonConstType uci; |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
25 |
NS_TEST_ASSERT_EQUAL (TypeTraits<void (TypeTraitsTest::*) (void)>::IsPointerToMember, 1); |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
26 |
NS_TEST_ASSERT_EQUAL (TypeTraits<void (TypeTraitsTest::*) (void) const>::IsPointerToMember, 1); |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
27 |
NS_TEST_ASSERT_EQUAL (TypeTraits<void (TypeTraitsTest::*) (int)>::IsPointerToMember, 1); |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
28 |
NS_TEST_ASSERT_EQUAL (TypeTraits<void (TypeTraitsTest::*) (int) const>::IsPointerToMember, 1); |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
29 |
NS_TEST_ASSERT_EQUAL (TypeTraits<void (TypeTraitsTest::*) (void) const>::PointerToMemberTraits::nArgs, 0); |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
30 |
NS_TEST_ASSERT_EQUAL (TypeTraits<void (TypeTraitsTest::*) (int) const>::PointerToMemberTraits::nArgs, 1); |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
31 |
|
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
32 |
return result; |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
33 |
} |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
34 |
|
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
35 |
static TypeTraitsTest g_typeTraitsTest; |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
36 |
|
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
37 |
} // namespace ns3 |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
38 |
|
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
39 |
#endif /* RUN_SELF_TESTS */ |
00452ae23a6f
rewrite the TypeTraits and add some tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
40 |