equal
deleted
inserted
replaced
25 |
25 |
26 #ifdef RUN_SELF_TESTS |
26 #ifdef RUN_SELF_TESTS |
27 |
27 |
28 namespace ns3 { |
28 namespace ns3 { |
29 |
29 |
30 static bool g_test5 = false; |
30 static bool gTest5 = false; |
31 static bool g_test6 = false; |
31 static bool gTest6 = false; |
32 static bool g_test7 = false; |
32 static bool gTest7 = false; |
33 |
33 |
34 void test5 (void) |
34 void test5 (void) |
35 { |
35 { |
36 g_test5 = true; |
36 gTest5 = true; |
37 } |
37 } |
38 |
38 |
39 void test6 (int) |
39 void test6 (int) |
40 { |
40 { |
41 g_test6 = true; |
41 gTest6 = true; |
42 } |
42 } |
43 |
43 |
44 int test7 (int a) |
44 int test7 (int a) |
45 { |
45 { |
46 g_test7 = true; |
46 gTest7 = true; |
47 return a; |
47 return a; |
48 } |
48 } |
49 |
49 |
50 class CallbackTest : public ns3::Test { |
50 class CallbackTest : public ns3::Test { |
51 private: |
51 private: |
53 bool m_test2; |
53 bool m_test2; |
54 bool m_test3; |
54 bool m_test3; |
55 bool m_test4; |
55 bool m_test4; |
56 public: |
56 public: |
57 CallbackTest (); |
57 CallbackTest (); |
58 virtual bool run_tests (void); |
58 virtual bool runTests (void); |
59 void reset (void); |
59 void reset (void); |
60 bool is_wrong (void); |
60 bool isWrong (void); |
61 void test1 (void); |
61 void test1 (void); |
62 int test2 (void); |
62 int test2 (void); |
63 void test3 (double a); |
63 void test3 (double a); |
64 int test4 (double a, int b); |
64 int test4 (double a, int b); |
65 void test8 (Callback<void, int> callback); |
65 void test8 (Callback<void, int> callback); |
99 CallbackTest::test8 (Callback<void,int> callback) |
99 CallbackTest::test8 (Callback<void,int> callback) |
100 { |
100 { |
101 callback (3); |
101 callback (3); |
102 } |
102 } |
103 bool |
103 bool |
104 CallbackTest::is_wrong (void) |
104 CallbackTest::isWrong (void) |
105 { |
105 { |
106 if (!m_test1 || |
106 if (!m_test1 || |
107 !m_test2 || |
107 !m_test2 || |
108 !m_test3 || |
108 !m_test3 || |
109 !m_test4 || |
109 !m_test4 || |
110 !g_test5 || |
110 !gTest5 || |
111 !g_test6 || |
111 !gTest6 || |
112 !g_test7) { |
112 !gTest7) { |
113 return true; |
113 return true; |
114 } |
114 } |
115 return false; |
115 return false; |
116 } |
116 } |
117 |
117 |
120 { |
120 { |
121 m_test1 = false; |
121 m_test1 = false; |
122 m_test2 = false; |
122 m_test2 = false; |
123 m_test3 = false; |
123 m_test3 = false; |
124 m_test4 = false; |
124 m_test4 = false; |
125 g_test5 = false; |
125 gTest5 = false; |
126 g_test6 = false; |
126 gTest6 = false; |
127 g_test7 = false; |
127 gTest7 = false; |
128 } |
128 } |
129 |
129 |
130 |
130 |
131 bool |
131 bool |
132 CallbackTest::run_tests (void) |
132 CallbackTest::runTests (void) |
133 { |
133 { |
134 bool ok = true; |
134 bool ok = true; |
135 |
135 |
136 typedef ns3::Callback<void> A; |
136 typedef ns3::Callback<void> A; |
137 typedef ns3::Callback<int> B; |
137 typedef ns3::Callback<int> B; |
156 d0 (0.0, 1); |
156 d0 (0.0, 1); |
157 e0 (); |
157 e0 (); |
158 f0 (1); |
158 f0 (1); |
159 g0 (1); |
159 g0 (1); |
160 |
160 |
161 if (is_wrong ()) { |
161 if (isWrong ()) { |
162 ok = false; |
162 ok = false; |
163 } |
163 } |
164 |
164 |
165 reset (); |
165 reset (); |
166 |
166 |
167 A a1 = ns3::make_callback (&CallbackTest::test1, this); |
167 A a1 = ns3::makeCallback (&CallbackTest::test1, this); |
168 B b1 = ns3::make_callback (&CallbackTest::test2, this); |
168 B b1 = ns3::makeCallback (&CallbackTest::test2, this); |
169 C c1 = ns3::make_callback (&CallbackTest::test3, this); |
169 C c1 = ns3::makeCallback (&CallbackTest::test3, this); |
170 D d1 = ns3::make_callback (&CallbackTest::test4, this); |
170 D d1 = ns3::makeCallback (&CallbackTest::test4, this); |
171 E e1 = ns3::make_callback (&test5); |
171 E e1 = ns3::makeCallback (&test5); |
172 F f1 = ns3::make_callback (&test6); |
172 F f1 = ns3::makeCallback (&test6); |
173 G g1 = ns3::make_callback (&test7); |
173 G g1 = ns3::makeCallback (&test7); |
174 |
174 |
175 a1 (); |
175 a1 (); |
176 b1 (); |
176 b1 (); |
177 c1 (0.0); |
177 c1 (0.0); |
178 d1 (0.0, 1); |
178 d1 (0.0, 1); |
182 |
182 |
183 test8 (f1); |
183 test8 (f1); |
184 |
184 |
185 Callback<void, int64_t,int64_t> a2; |
185 Callback<void, int64_t,int64_t> a2; |
186 |
186 |
187 if (is_wrong ()) { |
187 if (isWrong ()) { |
188 ok = false; |
188 ok = false; |
189 } |
189 } |
190 return ok; |
190 return ok; |
191 } |
191 } |
192 |
192 |
193 static CallbackTest g_callback_test; |
193 static CallbackTest gCallbackTest; |
194 |
194 |
195 }; // namespace |
195 }; // namespace |
196 |
196 |
197 #endif /* RUN_SELF_TESTS */ |
197 #endif /* RUN_SELF_TESTS */ |