Mercurial > irccd
annotate tests/src/plugins/hangman/main.cpp @ 655:cda30ca5bb76
Irccd: style (controller) #782
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 27 Mar 2018 20:30:59 +0200 |
parents | 152d20dc0e74 |
children | 3e816cebed2c |
rev | line source |
---|---|
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 /* |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 * main.cpp -- test hangman plugin |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 * |
628
27587ff92a64
Misc: update copyrights
David Demelier <markand@malikania.fr>
parents:
611
diff
changeset
|
4 * Copyright (c) 2013-2018 David Demelier <markand@malikania.fr> |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 * |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 * |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 */ |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
456
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
19 #include <unordered_map> |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
20 #include <unordered_set> |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
21 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
22 #define BOOST_TEST_MODULE "Hangman plugin" |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
23 #include <boost/test/unit_test.hpp> |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 |
596
35832b7f4f9d
Irccd: move files to daemon folder, closes #731
David Demelier <markand@malikania.fr>
parents:
584
diff
changeset
|
25 #include <irccd/daemon/irccd.hpp> |
35832b7f4f9d
Irccd: move files to daemon folder, closes #731
David Demelier <markand@malikania.fr>
parents:
584
diff
changeset
|
26 #include <irccd/daemon/server.hpp> |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 |
604
9d4da384f5d6
Tests: move libirccd-test to test/ folder, closes #750
David Demelier <markand@malikania.fr>
parents:
596
diff
changeset
|
28 #include <irccd/test/plugin_test.hpp> |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
30 namespace irccd { |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
32 class hangman_test : public plugin_test { |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
33 public: |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
34 hangman_test() |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
35 : plugin_test(PLUGIN_NAME, PLUGIN_PATH) |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
36 { |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
37 plugin_->set_formats({ |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
38 { "asked", "asked=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{letter}" }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
39 { "dead", "dead=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
40 { "found", "found=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
41 { "start", "start=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" }, |
437
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
42 { "running", "running=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" }, |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
43 { "win", "win=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
44 { "wrong-letter", "wrong-letter=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{letter}" }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
45 { "wrong-player", "wrong-player=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{letter}" }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
46 { "wrong-word", "wrong-word=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" } |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
47 }); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
48 } |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
486
diff
changeset
|
50 void load(plugin_config config = {}) |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
51 { |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
52 // Add file if not there. |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
53 if (config.count("file") == 0) |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
54 config.emplace("file", CMAKE_CURRENT_SOURCE_DIR "/words.conf"); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
56 plugin_->set_config(config); |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
57 plugin_->handle_load(irccd_); |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
58 } |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 }; |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
61 BOOST_FIXTURE_TEST_SUITE(hangman_test_suite, hangman_test) |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
62 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
63 BOOST_AUTO_TEST_CASE(asked) |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
65 load({{ "collaborative", "false" }}); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
67 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
68 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
69 auto cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
70 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
71 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
72 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
73 BOOST_TEST(cmd["message"].get<std::string>() == "start=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ _"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
74 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
75 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
76 cmd = server_->cqueue().back(); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
78 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
79 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
80 BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
81 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
82 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
83 cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
84 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
85 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
86 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
87 BOOST_TEST(cmd["message"].get<std::string>() == "asked=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s"); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 } |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
90 BOOST_AUTO_TEST_CASE(dead) |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
92 load({{ "collaborative", "false" }}); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
94 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
95 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "a"}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
96 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "b"}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
97 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "c"}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
98 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "d"}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
99 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "e"}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
100 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "f"}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
101 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "g"}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
102 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "h"}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
103 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "i"}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
104 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "j"}); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
105 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
106 auto cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
107 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
108 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
109 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
110 BOOST_TEST(cmd["message"].get<std::string>() == "dead=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky"); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 } |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
112 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
113 BOOST_AUTO_TEST_CASE(found) |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
115 load({{ "collaborative", "false" }}); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
116 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
117 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
118 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"}); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
119 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
120 auto cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
121 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
122 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
123 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
124 BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _"); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
125 } |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
126 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
127 BOOST_AUTO_TEST_CASE(start) |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
129 load(); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
130 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
131 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
132 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
133 auto cmd = server_->cqueue().back(); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
134 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
135 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
136 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
137 BOOST_TEST(cmd["message"].get<std::string>() == "start=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ _"); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
138 } |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
139 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
140 BOOST_AUTO_TEST_CASE(win1) |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
141 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
142 load({{ "collaborative", "false" }}); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
143 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
144 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
145 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
146 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "k"}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
147 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "y"}); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
149 auto cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
150 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
151 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
152 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
153 BOOST_TEST(cmd["message"].get<std::string>() == "win=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky"); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
154 } |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
155 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
156 BOOST_AUTO_TEST_CASE(win2) |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
157 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
158 load({{ "collaborative", "false" }}); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
159 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
160 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
161 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", "sky"}); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
162 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
163 auto cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
164 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
165 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
166 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
167 BOOST_TEST(cmd["message"].get<std::string>() == "win=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky"); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
168 } |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
169 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
170 BOOST_AUTO_TEST_CASE(wrong_letter) |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
171 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
172 load(); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
173 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
174 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
175 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "x"}); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
176 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
177 auto cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
178 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
179 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
180 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
181 BOOST_TEST(cmd["message"].get<std::string>() == "wrong-letter=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:x"); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
182 } |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
183 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
184 BOOST_AUTO_TEST_CASE(wrongWord) |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
185 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
186 load(); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
187 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
188 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
189 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", "cheese"}); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
190 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
191 auto cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
192 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
193 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
194 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
195 BOOST_TEST(cmd["message"].get<std::string>() == "wrong-word=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:cheese"); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
196 } |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
197 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
198 BOOST_AUTO_TEST_CASE(collaborative_disabled) |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
199 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
200 // Disable collaborative mode. |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
201 load({{ "collaborative", "false" }}); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
202 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
203 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
204 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
205 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
206 auto cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
207 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
208 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
209 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
210 BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
211 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
212 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "k"}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
213 cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
214 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
215 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
216 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
217 BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s k _"); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
218 } |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
219 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
220 BOOST_AUTO_TEST_CASE(collaborative_enabled) |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
221 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
222 // Enable collaborative mode. |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
195
diff
changeset
|
223 load({{ "collaborative", "true" }}); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
224 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
225 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
226 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
227 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
228 auto cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
229 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
230 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
231 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
232 BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
233 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
234 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "k"}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
235 cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
236 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
237 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
238 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
239 BOOST_TEST(cmd["message"].get<std::string>() == "wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
240 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
241 plugin_->handle_message(irccd_, {server_, "francis!francis@localhost", "#hangman", "k"}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
242 cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
243 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
244 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
245 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
246 BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _"); |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
247 } |
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
248 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
249 BOOST_AUTO_TEST_CASE(case_fix_642) |
436
a2ed6bc6e42c
Fix #642: fix case sensitivity in hangman, roulette
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
250 { |
a2ed6bc6e42c
Fix #642: fix case sensitivity in hangman, roulette
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
251 load(); |
a2ed6bc6e42c
Fix #642: fix case sensitivity in hangman, roulette
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
252 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
253 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
254 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#HANGMAN", "s"}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
255 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
256 auto cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
257 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
258 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
259 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
260 BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
261 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
262 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#HaNGMaN", "k"}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
263 cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
264 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
265 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
266 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
267 BOOST_TEST(cmd["message"].get<std::string>() == "wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
268 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
269 plugin_->handle_message(irccd_, {server_, "francis!francis@localhost", "#hAngmAn", "k"}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
270 cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
271 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
272 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
273 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
274 BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _"); |
436
a2ed6bc6e42c
Fix #642: fix case sensitivity in hangman, roulette
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
275 } |
a2ed6bc6e42c
Fix #642: fix case sensitivity in hangman, roulette
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
276 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
277 BOOST_AUTO_TEST_CASE(query) |
272
8fb6bd57878c
Plugin hangman: allow usage in query, closes #424
David Demelier <markand@malikania.fr>
parents:
250
diff
changeset
|
278 { |
8fb6bd57878c
Plugin hangman: allow usage in query, closes #424
David Demelier <markand@malikania.fr>
parents:
250
diff
changeset
|
279 load(); |
8fb6bd57878c
Plugin hangman: allow usage in query, closes #424
David Demelier <markand@malikania.fr>
parents:
250
diff
changeset
|
280 |
8fb6bd57878c
Plugin hangman: allow usage in query, closes #424
David Demelier <markand@malikania.fr>
parents:
250
diff
changeset
|
281 // Query mode is never collaborative. |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
282 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "irccd", ""}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
283 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
284 auto cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
285 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
286 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
577
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
551
diff
changeset
|
287 BOOST_TEST(cmd["target"].get<std::string>() == "jean!jean@localhost"); |
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
551
diff
changeset
|
288 BOOST_TEST(cmd["message"].get<std::string>() == "start=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:_ _ _"); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
289 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
290 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "irccd", "s"}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
291 cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
292 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
293 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
577
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
551
diff
changeset
|
294 BOOST_TEST(cmd["target"].get<std::string>() == "jean!jean@localhost"); |
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
551
diff
changeset
|
295 BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:s _ _"); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
296 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
297 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "irccd", "k"}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
298 cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
299 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
300 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
577
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
551
diff
changeset
|
301 BOOST_TEST(cmd["target"].get<std::string>() == "jean!jean@localhost"); |
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
551
diff
changeset
|
302 BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:s k _"); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
303 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
304 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "irccd", "sky"}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
305 cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
306 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
307 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
577
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
551
diff
changeset
|
308 BOOST_TEST(cmd["target"].get<std::string>() == "jean!jean@localhost"); |
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
551
diff
changeset
|
309 BOOST_TEST(cmd["message"].get<std::string>() == "win=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:sky"); |
272
8fb6bd57878c
Plugin hangman: allow usage in query, closes #424
David Demelier <markand@malikania.fr>
parents:
250
diff
changeset
|
310 } |
8fb6bd57878c
Plugin hangman: allow usage in query, closes #424
David Demelier <markand@malikania.fr>
parents:
250
diff
changeset
|
311 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
312 BOOST_AUTO_TEST_CASE(running) |
437
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
313 { |
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
314 load(); |
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
315 |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
316 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
317 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "y"}); |
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
318 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
319 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
320 auto cmd = server_->cqueue().back(); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
321 |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
322 BOOST_TEST(cmd["command"].get<std::string>() == "message"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
323 BOOST_TEST(cmd["target"].get<std::string>() == "#hangman"); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
324 BOOST_TEST(cmd["message"].get<std::string>() == "running=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ y"); |
437
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
325 } |
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
326 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
327 BOOST_AUTO_TEST_CASE(wordlist_fix_644) |
456
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
328 { |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
329 /* |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
330 * To be sure that the selection use the same list, we create a list of |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
331 * three words that has different size to determine which one was selected. |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
332 * |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
333 * Then we run 3 games and verify that the old selection is not the same |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
334 * as the current. |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
335 * |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
336 * This is not very accurate but it's better than nothing. |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
337 */ |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
338 load({{ "file", CMAKE_CURRENT_SOURCE_DIR "/wordlist_fix_644.conf" }}); |
456
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
339 |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
340 std::unordered_map<unsigned, std::string> words{ |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
341 { 5, "abc" }, |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
342 { 7, "abcd" }, |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
343 { 9, "abcde" } |
456
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
344 }; |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
345 std::unordered_set<unsigned> found; |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
346 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
347 plugin_->set_formats({ |
456
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
348 { "start", "#{word}" } |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
349 }); |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
350 |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
351 unsigned last, current; |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
352 |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
353 // 1. Initial game + finish. |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
354 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
355 last = server_->cqueue().back()["message"].get<std::string>().length(); |
456
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
356 found.insert(last); |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
357 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", words[last]}); |
456
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
358 |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
359 // 2. Current must not be the last one. |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
360 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
361 current = server_->cqueue().back()["message"].get<std::string>().length(); |
456
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
362 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
363 BOOST_TEST(last != current); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
364 BOOST_TEST(0U == found.count(current)); |
456
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
365 |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
366 found.insert(current); |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
367 last = current; |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
368 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", words[current]}); |
456
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
369 |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
370 // 3. Last word must be the one that is kept into the map. |
636
152d20dc0e74
Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents:
628
diff
changeset
|
371 plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""}); |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
372 current = server_->cqueue().back()["message"].get<std::string>().length(); |
456
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
373 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
374 BOOST_TEST(last != current); |
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
375 BOOST_TEST(0U == found.count(current)); |
456
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
376 } |
c81b38ec7bd2
Fix #644: fix word list and selection
David Demelier <markand@malikania.fr>
parents:
454
diff
changeset
|
377 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
378 BOOST_AUTO_TEST_SUITE_END() |
155
20cd5dc0e063
Plugin hangman: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
379 |
525
d070d33bf4a0
Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
380 } // !irccd |