Mercurial > hg > orthanc
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"); |