Mercurial > hg > orthanc
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 { |