Mercurial > malikania
annotate tests/libcommon/util/main.cpp @ 30:a1e80d991968
Misc: convert to spaces, #519
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 16 Jun 2016 13:35:31 +0200 |
parents | cff1d99eff11 |
children | d4f5f7231b84 |
rev | line source |
---|---|
0 | 1 /* |
10
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
2 * main.cpp -- test util |
0 | 3 * |
4 * Copyright (c) 2013-2016 Malikania Authors | |
5 * | |
6 * Permission to use, copy, modify, and/or distribute this software for any | |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
9 * | |
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 */ | |
18 | |
19 #include <gtest/gtest.h> | |
20 | |
10
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
21 #include <malikania/util.h> |
0 | 22 |
23 using namespace malikania; | |
24 | |
10
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
25 /* |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
26 * util::clamp |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
27 * ------------------------------------------------------------------ |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
28 */ |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
29 |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
30 TEST(Clamp, normal) |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
31 { |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
32 ASSERT_EQ(5, util::clamp(5, 0, 10)); |
10
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
33 } |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
34 |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
35 TEST(Clamp, minimum) |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
36 { |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
37 ASSERT_EQ(0, util::clamp(0, 0, 10)); |
10
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
38 } |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
39 |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
40 TEST(Clamp, maximum) |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
41 { |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
42 ASSERT_EQ(10, util::clamp(10, 0, 10)); |
10
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
43 } |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
44 |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
45 TEST(Clamp, less) |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
46 { |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
47 ASSERT_EQ(0, util::clamp(-10, 0, 10)); |
10
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
48 } |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
49 |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
50 TEST(Clamp, higher) |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
51 { |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
52 ASSERT_EQ(10, util::clamp(20, 0, 10)); |
10
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
53 } |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
54 |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
55 /* |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
56 * util::netsplit |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
57 * ------------------------------------------------------------------ |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
58 */ |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
59 |
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
60 TEST(Netsplit, simple) |
0 | 61 { |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
62 std::string input = "hello world\r\n\r\n"; |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
63 std::vector<std::string> messages = util::netsplit(input); |
0 | 64 |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
65 ASSERT_EQ(1U, messages.size()); |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
66 ASSERT_EQ("hello world", messages[0]); |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
67 ASSERT_TRUE(input.empty()); |
0 | 68 } |
69 | |
10
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
70 TEST(Netsplit, two) |
0 | 71 { |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
72 std::string input = "hello world\r\n\r\nhow are you?\r\n\r\n"; |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
73 std::vector<std::string> messages = util::netsplit(input); |
0 | 74 |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
75 ASSERT_EQ(2U, messages.size()); |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
76 ASSERT_EQ("hello world", messages[0]); |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
77 ASSERT_EQ("how are you?", messages[1]); |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
78 ASSERT_TRUE(input.empty()); |
0 | 79 } |
80 | |
10
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
81 TEST(Netsplit, imcomplete) |
0 | 82 { |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
83 std::string input = "hello world\r\n"; |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
84 std::vector<std::string> messages = util::netsplit(input); |
0 | 85 |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
86 ASSERT_EQ(0U, messages.size()); |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
87 ASSERT_EQ("hello world\r\n", input); |
0 | 88 } |
89 | |
10
cff1d99eff11
Common: add util::clamp
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
90 TEST(Netsplit, empty) |
0 | 91 { |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
92 std::string input = "hello world\r\n\r\n\r\n\r\nhow are you?\r\n\r\n"; |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
93 std::vector<std::string> messages = util::netsplit(input); |
0 | 94 |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
95 ASSERT_EQ(3U, messages.size()); |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
96 ASSERT_EQ("hello world", messages[0]); |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
97 ASSERT_TRUE(messages[1].empty()); |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
98 ASSERT_EQ("how are you?", messages[2]); |
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
99 ASSERT_TRUE(input.empty()); |
0 | 100 } |
101 | |
102 int main(int argc, char **argv) | |
103 { | |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
104 testing::InitGoogleTest(&argc, argv); |
0 | 105 |
30
a1e80d991968
Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents:
10
diff
changeset
|
106 return RUN_ALL_TESTS(); |
0 | 107 } |