comparison UnitTestsSources/main.cpp @ 708:38e2883e096f

zlib tests
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 13 Feb 2014 14:57:57 +0100
parents 203157cb4fde
children 0da078f3affc
comparison
equal deleted inserted replaced
707:203157cb4fde 708:38e2883e096f
29 TEST(Uuid, Test) 29 TEST(Uuid, Test)
30 { 30 {
31 ASSERT_FALSE(Toolbox::IsUuid("")); 31 ASSERT_FALSE(Toolbox::IsUuid(""));
32 ASSERT_FALSE(Toolbox::IsUuid("012345678901234567890123456789012345")); 32 ASSERT_FALSE(Toolbox::IsUuid("012345678901234567890123456789012345"));
33 ASSERT_TRUE(Toolbox::IsUuid("550e8400-e29b-41d4-a716-446655440000")); 33 ASSERT_TRUE(Toolbox::IsUuid("550e8400-e29b-41d4-a716-446655440000"));
34 ASSERT_FALSE(Toolbox::IsUuid("550e8400-e29b-41d4-a716-44665544000_"));
34 ASSERT_FALSE(Toolbox::IsUuid("01234567890123456789012345678901234_")); 35 ASSERT_FALSE(Toolbox::IsUuid("01234567890123456789012345678901234_"));
35 ASSERT_FALSE(Toolbox::StartsWithUuid("550e8400-e29b-41d4-a716-44665544000")); 36 ASSERT_FALSE(Toolbox::StartsWithUuid("550e8400-e29b-41d4-a716-44665544000"));
36 ASSERT_TRUE(Toolbox::StartsWithUuid("550e8400-e29b-41d4-a716-446655440000")); 37 ASSERT_TRUE(Toolbox::StartsWithUuid("550e8400-e29b-41d4-a716-446655440000"));
37 ASSERT_TRUE(Toolbox::StartsWithUuid("550e8400-e29b-41d4-a716-446655440000 ok")); 38 ASSERT_TRUE(Toolbox::StartsWithUuid("550e8400-e29b-41d4-a716-446655440000 ok"));
38 ASSERT_FALSE(Toolbox::StartsWithUuid("550e8400-e29b-41d4-a716-446655440000ok")); 39 ASSERT_FALSE(Toolbox::StartsWithUuid("550e8400-e29b-41d4-a716-446655440000ok"));
51 ASSERT_EQ("2fd4e1c6-7a2d28fc-ed849ee1-bb76e739-1b93eb12", s); 52 ASSERT_EQ("2fd4e1c6-7a2d28fc-ed849ee1-bb76e739-1b93eb12", s);
52 53
53 ASSERT_FALSE(Toolbox::IsSHA1("b5ed549f-956400ce-69a8c063-bf5b78be-2732a4b_")); 54 ASSERT_FALSE(Toolbox::IsSHA1("b5ed549f-956400ce-69a8c063-bf5b78be-2732a4b_"));
54 } 55 }
55 56
57 static void StringToVector(std::vector<uint8_t>& v,
58 const std::string& s)
59 {
60 v.resize(s.size());
61 for (size_t i = 0; i < s.size(); i++)
62 v[i] = s[i];
63 }
64
65
56 TEST(Zlib, Basic) 66 TEST(Zlib, Basic)
67 {
68 std::string s = Toolbox::GenerateUuid();
69 s = s + s + s + s;
70
71 std::string compressed, compressed2;
72 ZlibCompressor c;
73 c.Compress(compressed, s);
74
75 std::vector<uint8_t> v, vv;
76 StringToVector(v, s);
77 c.Compress(compressed2, v);
78 ASSERT_EQ(compressed, compressed2);
79
80 std::string uncompressed;
81 c.Uncompress(uncompressed, compressed);
82 ASSERT_EQ(s.size(), uncompressed.size());
83 ASSERT_EQ(0, memcmp(&s[0], &uncompressed[0], s.size()));
84
85 StringToVector(vv, compressed);
86 c.Uncompress(uncompressed, vv);
87 ASSERT_EQ(s.size(), uncompressed.size());
88 ASSERT_EQ(0, memcmp(&s[0], &uncompressed[0], s.size()));
89 }
90
91
92 TEST(Zlib, Level)
93 {
94 std::string s = Toolbox::GenerateUuid();
95 s = s + s + s + s;
96
97 std::string compressed, compressed2;
98 ZlibCompressor c;
99 c.SetCompressionLevel(9);
100 c.Compress(compressed, s);
101
102 c.SetCompressionLevel(0);
103 c.Compress(compressed2, s);
104
105 ASSERT_TRUE(compressed.size() < compressed2.size());
106 }
107
108
109 TEST(Zlib, Corrupted)
57 { 110 {
58 std::string s = Toolbox::GenerateUuid(); 111 std::string s = Toolbox::GenerateUuid();
59 s = s + s + s + s; 112 s = s + s + s + s;
60 113
61 std::string compressed; 114 std::string compressed;
62 ZlibCompressor c; 115 ZlibCompressor c;
63 c.Compress(compressed, s); 116 c.Compress(compressed, s);
64 117
118 compressed[compressed.size() - 1] = 'a';
119 std::string u;
120
121 ASSERT_THROW(c.Uncompress(u, compressed), OrthancException);
122 }
123
124
125 TEST(Zlib, Empty)
126 {
127 std::string s = "";
128 std::vector<uint8_t> v, vv;
129
130 std::string compressed, compressed2;
131 ZlibCompressor c;
132 c.Compress(compressed, s);
133 c.Compress(compressed2, v);
134 ASSERT_EQ(compressed, compressed2);
135
65 std::string uncompressed; 136 std::string uncompressed;
66 c.Uncompress(uncompressed, compressed); 137 c.Uncompress(uncompressed, compressed);
67
68 ASSERT_EQ(s.size(), uncompressed.size());
69 ASSERT_EQ(0, memcmp(&s[0], &uncompressed[0], s.size()));
70 }
71
72 TEST(Zlib, Empty)
73 {
74 std::string s = "";
75
76 std::string compressed;
77 ZlibCompressor c;
78 c.Compress(compressed, s);
79
80 std::string uncompressed;
81 c.Uncompress(uncompressed, compressed);
82
83 ASSERT_EQ(0u, uncompressed.size()); 138 ASSERT_EQ(0u, uncompressed.size());
84 } 139
140 StringToVector(vv, compressed);
141 c.Uncompress(uncompressed, vv);
142 ASSERT_EQ(0u, uncompressed.size());
143 }
144
85 145
86 TEST(ParseGetQuery, Basic) 146 TEST(ParseGetQuery, Basic)
87 { 147 {
88 HttpHandler::Arguments a; 148 HttpHandler::Arguments a;
89 HttpHandler::ParseGetQuery(a, "aaa=baaa&bb=a&aa=c"); 149 HttpHandler::ParseGetQuery(a, "aaa=baaa&bb=a&aa=c");