comparison UnitTestsSources/UnitTestsMain.cpp @ 1525:f9b0169eb6bb

testing
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 11 Aug 2015 17:50:38 +0200
parents f09f5d3225a7
children 3dcf5c0734c9
comparison
equal deleted inserted replaced
1524:4a0c2eedceb6 1525:f9b0169eb6bb
35 35
36 #include "gtest/gtest.h" 36 #include "gtest/gtest.h"
37 37
38 #include <ctype.h> 38 #include <ctype.h>
39 39
40 #include "../Core/Compression/ZlibCompressor.h"
41 #include "../Core/Compression/GzipCompressor.h"
42 #include "../Core/DicomFormat/DicomTag.h" 40 #include "../Core/DicomFormat/DicomTag.h"
43 #include "../Core/HttpServer/HttpToolbox.h" 41 #include "../Core/HttpServer/HttpToolbox.h"
44 #include "../Core/Logging.h" 42 #include "../Core/Logging.h"
45 #include "../Core/OrthancException.h" 43 #include "../Core/OrthancException.h"
46 #include "../Core/Toolbox.h" 44 #include "../Core/Toolbox.h"
95 Toolbox::ComputeSHA1(s, "The quick brown fox jumps over the lazy dog"); 93 Toolbox::ComputeSHA1(s, "The quick brown fox jumps over the lazy dog");
96 ASSERT_TRUE(Toolbox::IsSHA1(s)); 94 ASSERT_TRUE(Toolbox::IsSHA1(s));
97 ASSERT_EQ("2fd4e1c6-7a2d28fc-ed849ee1-bb76e739-1b93eb12", s); 95 ASSERT_EQ("2fd4e1c6-7a2d28fc-ed849ee1-bb76e739-1b93eb12", s);
98 96
99 ASSERT_FALSE(Toolbox::IsSHA1("b5ed549f-956400ce-69a8c063-bf5b78be-2732a4b_")); 97 ASSERT_FALSE(Toolbox::IsSHA1("b5ed549f-956400ce-69a8c063-bf5b78be-2732a4b_"));
100 }
101
102
103 TEST(Gzip, Basic)
104 {
105 std::string s = "Hello world";
106
107 std::string compressed;
108 GzipCompressor c;
109 ASSERT_FALSE(c.HasPrefixWithUncompressedSize());
110 IBufferCompressor::Compress(compressed, c, s);
111
112 std::string uncompressed;
113 IBufferCompressor::Uncompress(uncompressed, c, compressed);
114 ASSERT_EQ(s.size(), uncompressed.size());
115 ASSERT_EQ(0, memcmp(&s[0], &uncompressed[0], s.size()));
116 }
117
118
119 TEST(Gzip, Empty)
120 {
121 std::string s;
122
123 std::string compressed;
124 GzipCompressor c;
125 ASSERT_FALSE(c.HasPrefixWithUncompressedSize());
126 c.SetPrefixWithUncompressedSize(false);
127 IBufferCompressor::Compress(compressed, c, s);
128
129 std::string uncompressed;
130 IBufferCompressor::Uncompress(uncompressed, c, compressed);
131 ASSERT_EQ(0, uncompressed.size());
132 }
133
134
135 TEST(Gzip, BasicWithPrefix)
136 {
137 std::string s = "Hello world";
138
139 std::string compressed;
140 GzipCompressor c;
141 c.SetPrefixWithUncompressedSize(true);
142 ASSERT_TRUE(c.HasPrefixWithUncompressedSize());
143 IBufferCompressor::Compress(compressed, c, s);
144
145 std::string uncompressed;
146 IBufferCompressor::Uncompress(uncompressed, c, compressed);
147 ASSERT_EQ(s.size(), uncompressed.size());
148 ASSERT_EQ(0, memcmp(&s[0], &uncompressed[0], s.size()));
149 }
150
151
152 TEST(Gzip, EmptyWithPrefix)
153 {
154 std::string s;
155
156 std::string compressed;
157 GzipCompressor c;
158 c.SetPrefixWithUncompressedSize(true);
159 ASSERT_TRUE(c.HasPrefixWithUncompressedSize());
160 IBufferCompressor::Compress(compressed, c, s);
161
162 std::string uncompressed;
163 IBufferCompressor::Uncompress(uncompressed, c, compressed);
164 ASSERT_EQ(0, uncompressed.size());
165 }
166
167
168 TEST(Zlib, Basic)
169 {
170 std::string s = Toolbox::GenerateUuid();
171 s = s + s + s + s;
172
173 std::string compressed, compressed2;
174 ZlibCompressor c;
175 ASSERT_TRUE(c.HasPrefixWithUncompressedSize());
176 IBufferCompressor::Compress(compressed, c, s);
177
178 std::string uncompressed;
179 IBufferCompressor::Uncompress(uncompressed, c, compressed);
180 ASSERT_EQ(s.size(), uncompressed.size());
181 ASSERT_EQ(0, memcmp(&s[0], &uncompressed[0], s.size()));
182 }
183
184
185 TEST(Zlib, Level)
186 {
187 std::string s = Toolbox::GenerateUuid();
188 s = s + s + s + s;
189
190 std::string compressed, compressed2;
191 ZlibCompressor c;
192 c.SetCompressionLevel(9);
193 IBufferCompressor::Compress(compressed, c, s);
194
195 c.SetCompressionLevel(0);
196 IBufferCompressor::Compress(compressed2, c, s);
197
198 ASSERT_TRUE(compressed.size() < compressed2.size());
199 }
200
201
202 TEST(Zlib, DISABLED_Corrupted) // Disabled because it may result in a crash
203 {
204 std::string s = Toolbox::GenerateUuid();
205 s = s + s + s + s;
206
207 std::string compressed;
208 ZlibCompressor c;
209 IBufferCompressor::Compress(compressed, c, s);
210
211 compressed[compressed.size() - 1] = 'a';
212 std::string u;
213
214 ASSERT_THROW(IBufferCompressor::Uncompress(u, c, compressed), OrthancException);
215 }
216
217
218 TEST(Zlib, Empty)
219 {
220 std::string s = "";
221
222 std::string compressed, compressed2;
223 ZlibCompressor c;
224 IBufferCompressor::Compress(compressed, c, s);
225 ASSERT_EQ(compressed, compressed2);
226
227 std::string uncompressed;
228 IBufferCompressor::Uncompress(uncompressed, c, compressed);
229 ASSERT_EQ(0u, uncompressed.size());
230 } 98 }
231 99
232 100
233 TEST(ParseGetArguments, Basic) 101 TEST(ParseGetArguments, Basic)
234 { 102 {