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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
10
cff1d99eff11 Common: add util::clamp
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
2 * main.cpp -- test util
0
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2013-2016 Malikania Authors
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #include <gtest/gtest.h>
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
10
cff1d99eff11 Common: add util::clamp
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
21 #include <malikania/util.h>
0
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 using namespace malikania;
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 }
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
10
cff1d99eff11 Common: add util::clamp
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
70 TEST(Netsplit, two)
0
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 }
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
80
10
cff1d99eff11 Common: add util::clamp
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
81 TEST(Netsplit, imcomplete)
0
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 }
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
89
10
cff1d99eff11 Common: add util::clamp
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
90 TEST(Netsplit, empty)
0
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 }
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
101
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 int main(int argc, char **argv)
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 {
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
104 testing::InitGoogleTest(&argc, argv);
0
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
105
30
a1e80d991968 Misc: convert to spaces, #519
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
106 return RUN_ALL_TESTS();
0
8991989c4708 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 }