| 203 | }; |
| 204 | |
| 205 | TEST(Closure, ClosureVoid) |
| 206 | { |
| 207 | // Closure0 |
| 208 | Closure<void()> * cb = NewClosure(test0); |
| 209 | ASSERT_FALSE(cb->IsPermanent()); |
| 210 | cb->Run(); |
| 211 | |
| 212 | cb = NewClosure(test1, 'a'); |
| 213 | cb->Run(); |
| 214 | |
| 215 | cb = NewClosure(test2, 'a', 456); |
| 216 | cb->Run(); |
| 217 | |
| 218 | cb = NewClosure(test3, 'a', 456, 9800); |
| 219 | cb->Run(); |
| 220 | |
| 221 | // Closure1 |
| 222 | Closure<void (char)>* cb0_1 = NewClosure(test0_1); |
| 223 | cb0_1->Run('a'); |
| 224 | |
| 225 | Closure<void (short)>* cb1_1 = NewClosure(test1_1, 'a'); |
| 226 | cb1_1->Run(780); |
| 227 | |
| 228 | Closure<void (int)>* cb2_1 = NewClosure(test2_1, 'a', 7800); |
| 229 | cb2_1->Run(9800); |
| 230 | |
| 231 | // Closure2 |
| 232 | Closure<void (char, short)>* cb0_2 = NewClosure(test0_2); |
| 233 | cb0_2->Run('a', 8900); |
| 234 | |
| 235 | Closure<void (char, int)>* cb1_2 = NewClosure(test1_2, 'a'); |
| 236 | cb1_2->Run('b', 780); |
| 237 | |
| 238 | // Closure3 |
| 239 | Closure<void (char, short, int)>* cb0_3 = NewClosure(test0_3); |
| 240 | cb0_3->Run('a', 456, 78909); |
| 241 | } |
| 242 | |
| 243 | |
| 244 | TEST(Closure, ClosureReturn) |
nothing calls this directly
no test coverage detected