comparison tests/src/plugins/hangman/main.cpp @ 809:8460b4a34191

misc: reorganize namespaces, closes #952 @4h
author David Demelier <markand@malikania.fr>
date Fri, 16 Nov 2018 12:25:00 +0100
parents f362994133ca
children 06cc2f95f479
comparison
equal deleted inserted replaced
808:80bccab4a093 809:8460b4a34191
20 #include <unordered_set> 20 #include <unordered_set>
21 21
22 #define BOOST_TEST_MODULE "Hangman plugin" 22 #define BOOST_TEST_MODULE "Hangman plugin"
23 #include <boost/test/unit_test.hpp> 23 #include <boost/test/unit_test.hpp>
24 24
25 #include <irccd/daemon/irccd.hpp> 25 #include <irccd/daemon/bot.hpp>
26 #include <irccd/daemon/server.hpp> 26 #include <irccd/daemon/server.hpp>
27 27
28 #include <irccd/test/js_plugin_fixture.hpp> 28 #include <irccd/test/js_plugin_fixture.hpp>
29 29
30 namespace irccd::test { 30 using irccd::daemon::plugin;
31
32 using irccd::test::js_plugin_fixture;
33
34 namespace irccd {
31 35
32 namespace { 36 namespace {
33 37
34 class hangman_test : public js_plugin_fixture { 38 class hangman_test : public js_plugin_fixture {
35 public: 39 public:
54 // Add file if not there. 58 // Add file if not there.
55 if (config.count("file") == 0) 59 if (config.count("file") == 0)
56 config.emplace("file", CMAKE_CURRENT_SOURCE_DIR "/words.conf"); 60 config.emplace("file", CMAKE_CURRENT_SOURCE_DIR "/words.conf");
57 61
58 plugin_->set_options(config); 62 plugin_->set_options(config);
59 plugin_->handle_load(irccd_); 63 plugin_->handle_load(bot_);
60 } 64 }
61 }; 65 };
62 66
63 BOOST_FIXTURE_TEST_SUITE(hangman_test_suite, hangman_test) 67 BOOST_FIXTURE_TEST_SUITE(hangman_test_suite, hangman_test)
64 68
65 BOOST_AUTO_TEST_CASE(asked) 69 BOOST_AUTO_TEST_CASE(asked)
66 { 70 {
67 load({{ "collaborative", "false" }}); 71 load({{ "collaborative", "false" }});
68 72
69 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "" }); 73 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "" });
70 74
71 auto cmd = server_->find("message").back(); 75 auto cmd = server_->find("message").back();
72 76
73 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 77 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
74 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "start=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ _"); 78 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "start=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ _");
75 79
76 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"}); 80 plugin_->handle_message(bot_, {server_, "jean!jean@localhost", "#hangman", "s"});
77 cmd = server_->find("message").back(); 81 cmd = server_->find("message").back();
78 82
79 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 83 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
80 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _"); 84 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _");
81 85
82 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"}); 86 plugin_->handle_message(bot_, {server_, "jean!jean@localhost", "#hangman", "s"});
83 cmd = server_->find("message").back(); 87 cmd = server_->find("message").back();
84 88
85 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 89 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
86 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "asked=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s"); 90 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "asked=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s");
87 } 91 }
88 92
89 BOOST_AUTO_TEST_CASE(dead) 93 BOOST_AUTO_TEST_CASE(dead)
90 { 94 {
91 load({{ "collaborative", "false" }}); 95 load({{ "collaborative", "false" }});
92 96
93 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "" }); 97 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "" });
94 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "a" }); 98 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "a" });
95 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "b" }); 99 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "b" });
96 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "c" }); 100 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "c" });
97 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "d" }); 101 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "d" });
98 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "e" }); 102 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "e" });
99 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "f" }); 103 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "f" });
100 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "g" }); 104 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "g" });
101 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "h" }); 105 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "h" });
102 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "i" }); 106 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "i" });
103 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "j" }); 107 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "j" });
104 108
105 const auto cmd = server_->find("message").back(); 109 const auto cmd = server_->find("message").back();
106 110
107 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 111 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
108 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "dead=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky"); 112 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "dead=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky");
110 114
111 BOOST_AUTO_TEST_CASE(found) 115 BOOST_AUTO_TEST_CASE(found)
112 { 116 {
113 load({{ "collaborative", "false" }}); 117 load({{ "collaborative", "false" }});
114 118
115 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "" }); 119 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "" });
116 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "s" }); 120 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "s" });
117 121
118 const auto cmd = server_->find("message").back(); 122 const auto cmd = server_->find("message").back();
119 123
120 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 124 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
121 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _"); 125 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _");
123 127
124 BOOST_AUTO_TEST_CASE(start) 128 BOOST_AUTO_TEST_CASE(start)
125 { 129 {
126 load(); 130 load();
127 131
128 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); 132 plugin_->handle_command(bot_, {server_, "jean!jean@localhost", "#hangman", ""});
129 133
130 const auto cmd = server_->find("message").back(); 134 const auto cmd = server_->find("message").back();
131 135
132 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 136 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
133 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "start=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ _"); 137 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "start=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ _");
135 139
136 BOOST_AUTO_TEST_CASE(win1) 140 BOOST_AUTO_TEST_CASE(win1)
137 { 141 {
138 load({{ "collaborative", "false" }}); 142 load({{ "collaborative", "false" }});
139 143
140 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "" }); 144 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "" });
141 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "s" }); 145 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "s" });
142 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "k" }); 146 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "k" });
143 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "y" }); 147 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "y" });
144 148
145 const auto cmd = server_->find("message").back(); 149 const auto cmd = server_->find("message").back();
146 150
147 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 151 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
148 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "win=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky"); 152 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "win=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky");
150 154
151 BOOST_AUTO_TEST_CASE(win2) 155 BOOST_AUTO_TEST_CASE(win2)
152 { 156 {
153 load({{ "collaborative", "false" }}); 157 load({{ "collaborative", "false" }});
154 158
155 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "" }); 159 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "" });
156 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "sky" }); 160 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "sky" });
157 161
158 const auto cmd = server_->find("message").back(); 162 const auto cmd = server_->find("message").back();
159 163
160 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 164 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
161 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "win=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky"); 165 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "win=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky");
163 167
164 BOOST_AUTO_TEST_CASE(wrong_letter) 168 BOOST_AUTO_TEST_CASE(wrong_letter)
165 { 169 {
166 load(); 170 load();
167 171
168 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "" }); 172 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "" });
169 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "x" }); 173 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "x" });
170 174
171 const auto cmd = server_->find("message").back(); 175 const auto cmd = server_->find("message").back();
172 176
173 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 177 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
174 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "wrong-letter=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:x"); 178 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "wrong-letter=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:x");
176 180
177 BOOST_AUTO_TEST_CASE(wrong_word) 181 BOOST_AUTO_TEST_CASE(wrong_word)
178 { 182 {
179 load(); 183 load();
180 184
181 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "" }); 185 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "" });
182 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "cheese" }); 186 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "cheese" });
183 187
184 const auto cmd = server_->find("message").back(); 188 const auto cmd = server_->find("message").back();
185 189
186 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 190 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
187 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "wrong-word=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:cheese"); 191 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "wrong-word=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:cheese");
190 BOOST_AUTO_TEST_CASE(collaborative_disabled) 194 BOOST_AUTO_TEST_CASE(collaborative_disabled)
191 { 195 {
192 // Disable collaborative mode. 196 // Disable collaborative mode.
193 load({{ "collaborative", "false" }}); 197 load({{ "collaborative", "false" }});
194 198
195 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "" }); 199 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "" });
196 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "s" }); 200 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "s" });
197 201
198 auto cmd = server_->find("message").back(); 202 auto cmd = server_->find("message").back();
199 203
200 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 204 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
201 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _"); 205 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _");
202 206
203 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "k" }); 207 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "k" });
204 cmd = server_->find("message").back(); 208 cmd = server_->find("message").back();
205 209
206 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 210 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
207 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s k _"); 211 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s k _");
208 } 212 }
210 BOOST_AUTO_TEST_CASE(collaborative_enabled) 214 BOOST_AUTO_TEST_CASE(collaborative_enabled)
211 { 215 {
212 // Enable collaborative mode. 216 // Enable collaborative mode.
213 load({{ "collaborative", "true" }}); 217 load({{ "collaborative", "true" }});
214 218
215 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "" }); 219 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "" });
216 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "s" }); 220 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "s" });
217 221
218 auto cmd = server_->find("message").back(); 222 auto cmd = server_->find("message").back();
219 223
220 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 224 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
221 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _"); 225 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _");
222 226
223 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "k" }); 227 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "k" });
224 cmd = server_->find("message").back(); 228 cmd = server_->find("message").back();
225 229
226 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 230 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
227 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k"); 231 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k");
228 232
229 plugin_->handle_message(irccd_, { server_, "francis!francis@localhost", "#hangman", "k" }); 233 plugin_->handle_message(bot_, { server_, "francis!francis@localhost", "#hangman", "k" });
230 cmd = server_->find("message").back(); 234 cmd = server_->find("message").back();
231 235
232 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 236 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
233 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _"); 237 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _");
234 } 238 }
235 239
236 BOOST_AUTO_TEST_CASE(issue_642) 240 BOOST_AUTO_TEST_CASE(issue_642)
237 { 241 {
238 load(); 242 load();
239 243
240 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "" }); 244 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "" });
241 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#HANGMAN", "s" }); 245 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#HANGMAN", "s" });
242 246
243 auto cmd = server_->find("message").back(); 247 auto cmd = server_->find("message").back();
244 248
245 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 249 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
246 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _"); 250 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _");
247 251
248 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#HaNGMaN", "k" }); 252 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#HaNGMaN", "k" });
249 cmd = server_->find("message").back(); 253 cmd = server_->find("message").back();
250 254
251 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 255 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
252 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k"); 256 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k");
253 257
254 plugin_->handle_message(irccd_, { server_, "francis!francis@localhost", "#hAngmAn", "k" }); 258 plugin_->handle_message(bot_, { server_, "francis!francis@localhost", "#hAngmAn", "k" });
255 cmd = server_->find("message").back(); 259 cmd = server_->find("message").back();
256 260
257 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 261 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
258 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _"); 262 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _");
259 } 263 }
261 BOOST_AUTO_TEST_CASE(query) 265 BOOST_AUTO_TEST_CASE(query)
262 { 266 {
263 load(); 267 load();
264 268
265 // Query mode is never collaborative. 269 // Query mode is never collaborative.
266 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "irccd", "" }); 270 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "irccd", "" });
267 271
268 auto cmd = server_->find("message").back(); 272 auto cmd = server_->find("message").back();
269 273
270 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "jean!jean@localhost"); 274 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "jean!jean@localhost");
271 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "start=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:_ _ _"); 275 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "start=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:_ _ _");
272 276
273 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "irccd", "s" }); 277 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "irccd", "s" });
274 cmd = server_->find("message").back(); 278 cmd = server_->find("message").back();
275 279
276 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "jean!jean@localhost"); 280 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "jean!jean@localhost");
277 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:s _ _"); 281 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:s _ _");
278 282
279 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "irccd", "k" }); 283 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "irccd", "k" });
280 cmd = server_->find("message").back(); 284 cmd = server_->find("message").back();
281 285
282 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "jean!jean@localhost"); 286 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "jean!jean@localhost");
283 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:s k _"); 287 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "found=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:s k _");
284 288
285 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "irccd", "sky" }); 289 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "irccd", "sky" });
286 cmd = server_->find("message").back(); 290 cmd = server_->find("message").back();
287 291
288 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "jean!jean@localhost"); 292 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "jean!jean@localhost");
289 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "win=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:sky"); 293 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "win=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:sky");
290 } 294 }
291 295
292 BOOST_AUTO_TEST_CASE(running) 296 BOOST_AUTO_TEST_CASE(running)
293 { 297 {
294 load(); 298 load();
295 299
296 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "" }); 300 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "" });
297 plugin_->handle_message(irccd_, { server_, "jean!jean@localhost", "#hangman", "y" }); 301 plugin_->handle_message(bot_, { server_, "jean!jean@localhost", "#hangman", "y" });
298 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#hangman", "" }); 302 plugin_->handle_command(bot_, { server_, "jean!jean@localhost", "#hangman", "" });
299 303
300 const auto cmd = server_->find("message").back(); 304 const auto cmd = server_->find("message").back();
301 305
302 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman"); 306 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#hangman");
303 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "running=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ y"); 307 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "running=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ y");
328 }); 332 });
329 333
330 unsigned last, current; 334 unsigned last, current;
331 335
332 // 1. Initial game + finish. 336 // 1. Initial game + finish.
333 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); 337 plugin_->handle_command(bot_, {server_, "jean!jean@localhost", "#hangman", ""});
334 last = std::any_cast<std::string>(server_->find("message").back()[1]).length(); 338 last = std::any_cast<std::string>(server_->find("message").back()[1]).length();
335 found.insert(last); 339 found.insert(last);
336 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", words[last]}); 340 plugin_->handle_command(bot_, {server_, "jean!jean@localhost", "#hangman", words[last]});
337 341
338 // 2. Current must not be the last one. 342 // 2. Current must not be the last one.
339 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); 343 plugin_->handle_command(bot_, {server_, "jean!jean@localhost", "#hangman", ""});
340 current = std::any_cast<std::string>(server_->find("message").back()[1]).length(); 344 current = std::any_cast<std::string>(server_->find("message").back()[1]).length();
341 345
342 BOOST_TEST(last != current); 346 BOOST_TEST(last != current);
343 BOOST_TEST(0U == found.count(current)); 347 BOOST_TEST(0U == found.count(current));
344 348
345 found.insert(current); 349 found.insert(current);
346 last = current; 350 last = current;
347 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", words[current]}); 351 plugin_->handle_command(bot_, {server_, "jean!jean@localhost", "#hangman", words[current]});
348 352
349 // 3. Last word must be the one that is kept into the map. 353 // 3. Last word must be the one that is kept into the map.
350 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); 354 plugin_->handle_command(bot_, {server_, "jean!jean@localhost", "#hangman", ""});
351 current = std::any_cast<std::string>(server_->find("message").back()[1]).length(); 355 current = std::any_cast<std::string>(server_->find("message").back()[1]).length();
352 356
353 BOOST_TEST(last != current); 357 BOOST_TEST(last != current);
354 BOOST_TEST(0U == found.count(current)); 358 BOOST_TEST(0U == found.count(current));
355 } 359 }
356 360
357 BOOST_AUTO_TEST_SUITE_END() 361 BOOST_AUTO_TEST_SUITE_END()
358 362
359 } // !namespace 363 } // !namespace
360 364
361 } // !irccd::test 365 } // !irccd