18
18
#include < boost/test/unit_test.hpp>
19
19
#include < any>
20
20
21
+ #include < boost/asio/detached.hpp>
22
+
21
23
namespace cobalt = boost::cobalt;
22
24
23
25
cobalt::promise<void > do_write (cobalt::channel<void > &chn, std::vector<int > & seq)
@@ -57,22 +59,22 @@ CO_TEST_CASE(void_)
57
59
co_await r;
58
60
co_await w;
59
61
BOOST_REQUIRE (seq.size () == 16 );
60
- BOOST_CHECK (seq[0 ] == 10 );
61
- BOOST_CHECK (seq[1 ] == 0 );
62
- BOOST_CHECK (seq[2 ] == 1 );
63
- BOOST_CHECK (seq[3 ] == 2 );
64
- BOOST_CHECK (seq[4 ] == 11 );
65
- BOOST_CHECK (seq[5 ] == 12 );
66
- BOOST_CHECK (seq[6 ] == 3 );
67
- BOOST_CHECK (seq[7 ] == 4 );
68
- BOOST_CHECK (seq[8 ] == 13 );
69
- BOOST_CHECK (seq[9 ] == 14 );
70
- BOOST_CHECK (seq[10 ] == 5 );
71
- BOOST_CHECK (seq[11 ] == 6 );
72
- BOOST_CHECK (seq[12 ] == 15 );
73
- BOOST_CHECK (seq[13 ] == 16 );
74
- BOOST_CHECK (seq[14 ] == 7 );
75
- BOOST_CHECK (seq[15 ] == 17 );
62
+ BOOST_CHECK_EQUAL (seq[0 ], 10 );
63
+ BOOST_CHECK_EQUAL (seq[1 ], 0 );
64
+ BOOST_CHECK_EQUAL (seq[2 ], 1 );
65
+ BOOST_CHECK_EQUAL (seq[3 ], 2 );
66
+ BOOST_CHECK_EQUAL (seq[4 ], 11 );
67
+ BOOST_CHECK_EQUAL (seq[5 ], 12 );
68
+ BOOST_CHECK_EQUAL (seq[6 ], 13 );
69
+ BOOST_CHECK_EQUAL (seq[7 ], 3 );
70
+ BOOST_CHECK_EQUAL (seq[8 ], 4 );
71
+ BOOST_CHECK_EQUAL (seq[9 ], 5 );
72
+ BOOST_CHECK_EQUAL (seq[10 ], 14 );
73
+ BOOST_CHECK_EQUAL (seq[11 ], 15 );
74
+ BOOST_CHECK_EQUAL (seq[12 ], 16 );
75
+ BOOST_CHECK_EQUAL (seq[13 ], 6 );
76
+ BOOST_CHECK_EQUAL (seq[14 ], 7 );
77
+ BOOST_CHECK_EQUAL (seq[15 ], 17 );
76
78
}
77
79
78
80
CO_TEST_CASE (void_0)
@@ -140,22 +142,22 @@ CO_TEST_CASE(int_)
140
142
co_await r;
141
143
co_await w;
142
144
BOOST_REQUIRE (seq.size () == 16 );
143
- BOOST_CHECK (seq[0 ] == 0 );
144
- BOOST_CHECK (seq[1 ] == 1 );
145
- BOOST_CHECK (seq[2 ] == 2 );
146
- BOOST_CHECK (seq[3 ] == 10 );
147
- BOOST_CHECK (seq[4 ] == 11 );
148
- BOOST_CHECK (seq[5 ] == 12 );
149
- BOOST_CHECK (seq[6 ] == 3 );
150
- BOOST_CHECK (seq[7 ] == 4 );
151
- BOOST_CHECK (seq[8 ] == 13 );
152
- BOOST_CHECK (seq[9 ] == 14 );
153
- BOOST_CHECK (seq[10 ] == 5 );
154
- BOOST_CHECK (seq[11 ] == 6 );
155
- BOOST_CHECK (seq[12 ] == 15 );
156
- BOOST_CHECK (seq[13 ] == 16 );
157
- BOOST_CHECK (seq[14 ] == 7 );
158
- BOOST_CHECK (seq[15 ] == 17 );
145
+ BOOST_CHECK_EQUAL (seq[0 ], 0 );
146
+ BOOST_CHECK_EQUAL (seq[1 ], 1 );
147
+ BOOST_CHECK_EQUAL (seq[2 ], 2 );
148
+ BOOST_CHECK_EQUAL (seq[3 ], 10 );
149
+ BOOST_CHECK_EQUAL (seq[4 ], 11 );
150
+ BOOST_CHECK_EQUAL (seq[5 ], 12 );
151
+ BOOST_CHECK_EQUAL (seq[6 ], 13 );
152
+ BOOST_CHECK_EQUAL (seq[7 ], 3 );
153
+ BOOST_CHECK_EQUAL (seq[8 ], 4 );
154
+ BOOST_CHECK_EQUAL (seq[9 ], 5 );
155
+ BOOST_CHECK_EQUAL (seq[10 ], 14 );
156
+ BOOST_CHECK_EQUAL (seq[11 ], 15 );
157
+ BOOST_CHECK_EQUAL (seq[12 ], 16 );
158
+ BOOST_CHECK_EQUAL (seq[13 ], 6 );
159
+ BOOST_CHECK_EQUAL (seq[14 ], 7 );
160
+ BOOST_CHECK_EQUAL (seq[15 ], 17 );
159
161
}
160
162
161
163
cobalt::promise<void > do_write (cobalt::channel<std::string> &chn, std::vector<int > & seq)
@@ -378,8 +380,9 @@ CO_TEST_CASE(interrupt_1)
378
380
lr = co_await cobalt::left_race (c.write (43 ), c.read ());
379
381
BOOST_CHECK (lr.index () == 1 );
380
382
BOOST_CHECK (get<1u >(lr) == 42 );
381
- auto rl = co_await cobalt::left_race (c.read (), c.write (42 ));
382
- BOOST_CHECK (rl.index () == 1 );
383
+ auto rl = co_await cobalt::left_race (c.read (), c.write (44 ));
384
+ BOOST_CHECK (rl.index () == 0 );
385
+ BOOST_CHECK_EQUAL (get<0u >(rl) , 43 );
383
386
}
384
387
385
388
CO_TEST_CASE (interrupt_void_1)
@@ -390,7 +393,7 @@ CO_TEST_CASE(interrupt_void_1)
390
393
lr = co_await cobalt::left_race (c.write (), c.read ());
391
394
BOOST_CHECK (lr == 1 );
392
395
auto rl = co_await cobalt::left_race (c.read (), c.write ());
393
- BOOST_CHECK (rl == 1 );
396
+ BOOST_CHECK (rl == 0 );
394
397
}
395
398
396
399
0 commit comments