comparison UnitTestsSources/FileStorageTests.cpp @ 1126:bf67431a7383

handling of file content type in IStorageArea
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 05 Sep 2014 17:01:42 +0200
parents 790ff7a5b3bf
children 67c3c1e4a6e0
comparison
equal deleted inserted replaced
1125:20ddab7e9ae8 1126:bf67431a7383
61 TEST(FilesystemStorage, Basic) 61 TEST(FilesystemStorage, Basic)
62 { 62 {
63 FilesystemStorage s("UnitTestsStorage"); 63 FilesystemStorage s("UnitTestsStorage");
64 64
65 std::string data = Toolbox::GenerateUuid(); 65 std::string data = Toolbox::GenerateUuid();
66 std::string uid = s.Create(&data[0], data.size()); 66 std::string uid = s.Create(&data[0], data.size(), FileContentType_Unknown);
67 std::string d; 67 std::string d;
68 s.Read(d, uid); 68 s.Read(d, uid, FileContentType_Unknown);
69 ASSERT_EQ(d.size(), data.size()); 69 ASSERT_EQ(d.size(), data.size());
70 ASSERT_FALSE(memcmp(&d[0], &data[0], data.size())); 70 ASSERT_FALSE(memcmp(&d[0], &data[0], data.size()));
71 ASSERT_EQ(s.GetSize(uid), data.size()); 71 ASSERT_EQ(s.GetSize(uid), data.size());
72 } 72 }
73 73
75 { 75 {
76 FilesystemStorage s("UnitTestsStorage"); 76 FilesystemStorage s("UnitTestsStorage");
77 77
78 std::vector<uint8_t> data; 78 std::vector<uint8_t> data;
79 StringToVector(data, Toolbox::GenerateUuid()); 79 StringToVector(data, Toolbox::GenerateUuid());
80 std::string uid = s.Create(&data[0], data.size()); 80 std::string uid = s.Create(&data[0], data.size(), FileContentType_Unknown);
81 std::string d; 81 std::string d;
82 s.Read(d, uid); 82 s.Read(d, uid, FileContentType_Unknown);
83 ASSERT_EQ(d.size(), data.size()); 83 ASSERT_EQ(d.size(), data.size());
84 ASSERT_FALSE(memcmp(&d[0], &data[0], data.size())); 84 ASSERT_FALSE(memcmp(&d[0], &data[0], data.size()));
85 ASSERT_EQ(s.GetSize(uid), data.size()); 85 ASSERT_EQ(s.GetSize(uid), data.size());
86 } 86 }
87 87
92 92
93 std::list<std::string> u; 93 std::list<std::string> u;
94 for (unsigned int i = 0; i < 10; i++) 94 for (unsigned int i = 0; i < 10; i++)
95 { 95 {
96 std::string t = Toolbox::GenerateUuid(); 96 std::string t = Toolbox::GenerateUuid();
97 u.push_back(s.Create(&t[0], t.size())); 97 u.push_back(s.Create(&t[0], t.size(), FileContentType_Unknown));
98 } 98 }
99 99
100 std::set<std::string> ss; 100 std::set<std::string> ss;
101 s.ListAllFiles(ss); 101 s.ListAllFiles(ss);
102 ASSERT_EQ(10u, ss.size()); 102 ASSERT_EQ(10u, ss.size());
105 for (std::list<std::string>::iterator 105 for (std::list<std::string>::iterator
106 i = u.begin(); i != u.end(); i++, c++) 106 i = u.begin(); i != u.end(); i++, c++)
107 { 107 {
108 ASSERT_TRUE(ss.find(*i) != ss.end()); 108 ASSERT_TRUE(ss.find(*i) != ss.end());
109 if (c < 5) 109 if (c < 5)
110 s.Remove(*i); 110 s.Remove(*i, FileContentType_Unknown);
111 } 111 }
112 112
113 s.ListAllFiles(ss); 113 s.ListAllFiles(ss);
114 ASSERT_EQ(5u, ss.size()); 114 ASSERT_EQ(5u, ss.size());
115 115
126 126
127 std::string data = "Hello world"; 127 std::string data = "Hello world";
128 FileInfo info = accessor.Write(data, FileContentType_Dicom); 128 FileInfo info = accessor.Write(data, FileContentType_Dicom);
129 129
130 std::string r; 130 std::string r;
131 accessor.Read(r, info.GetUuid()); 131 accessor.Read(r, info.GetUuid(), FileContentType_Unknown);
132 132
133 ASSERT_EQ(data, r); 133 ASSERT_EQ(data, r);
134 ASSERT_EQ(CompressionType_None, info.GetCompressionType()); 134 ASSERT_EQ(CompressionType_None, info.GetCompressionType());
135 ASSERT_EQ(11u, info.GetUncompressedSize()); 135 ASSERT_EQ(11u, info.GetUncompressedSize());
136 ASSERT_EQ(11u, info.GetCompressedSize()); 136 ASSERT_EQ(11u, info.GetCompressedSize());
146 accessor.SetCompressionForNextOperations(CompressionType_None); 146 accessor.SetCompressionForNextOperations(CompressionType_None);
147 std::string data = "Hello world"; 147 std::string data = "Hello world";
148 FileInfo info = accessor.Write(data, FileContentType_Dicom); 148 FileInfo info = accessor.Write(data, FileContentType_Dicom);
149 149
150 std::string r; 150 std::string r;
151 accessor.Read(r, info.GetUuid()); 151 accessor.Read(r, info.GetUuid(), FileContentType_Unknown);
152 152
153 ASSERT_EQ(data, r); 153 ASSERT_EQ(data, r);
154 ASSERT_EQ(CompressionType_None, info.GetCompressionType()); 154 ASSERT_EQ(CompressionType_None, info.GetCompressionType());
155 ASSERT_EQ(11u, info.GetUncompressedSize()); 155 ASSERT_EQ(11u, info.GetUncompressedSize());
156 ASSERT_EQ(11u, info.GetCompressedSize()); 156 ASSERT_EQ(11u, info.GetCompressedSize());
167 std::vector<uint8_t> data; 167 std::vector<uint8_t> data;
168 StringToVector(data, "Hello world"); 168 StringToVector(data, "Hello world");
169 FileInfo info = accessor.Write(data, FileContentType_Dicom); 169 FileInfo info = accessor.Write(data, FileContentType_Dicom);
170 170
171 std::string r; 171 std::string r;
172 accessor.Read(r, info.GetUuid()); 172 accessor.Read(r, info.GetUuid(), FileContentType_Unknown);
173 173
174 ASSERT_EQ(0, memcmp(&r[0], &data[0], data.size())); 174 ASSERT_EQ(0, memcmp(&r[0], &data[0], data.size()));
175 ASSERT_EQ(CompressionType_None, info.GetCompressionType()); 175 ASSERT_EQ(CompressionType_None, info.GetCompressionType());
176 ASSERT_EQ(11u, info.GetUncompressedSize()); 176 ASSERT_EQ(11u, info.GetUncompressedSize());
177 ASSERT_EQ(11u, info.GetCompressedSize()); 177 ASSERT_EQ(11u, info.GetCompressedSize());
187 accessor.SetCompressionForNextOperations(CompressionType_Zlib); 187 accessor.SetCompressionForNextOperations(CompressionType_Zlib);
188 std::string data = "Hello world"; 188 std::string data = "Hello world";
189 FileInfo info = accessor.Write(data, FileContentType_Dicom); 189 FileInfo info = accessor.Write(data, FileContentType_Dicom);
190 190
191 std::string r; 191 std::string r;
192 accessor.Read(r, info.GetUuid()); 192 accessor.Read(r, info.GetUuid(), FileContentType_Unknown);
193 193
194 ASSERT_EQ(data, r); 194 ASSERT_EQ(data, r);
195 ASSERT_EQ(CompressionType_Zlib, info.GetCompressionType()); 195 ASSERT_EQ(CompressionType_Zlib, info.GetCompressionType());
196 ASSERT_EQ(11u, info.GetUncompressedSize()); 196 ASSERT_EQ(11u, info.GetUncompressedSize());
197 ASSERT_EQ(FileContentType_Dicom, info.GetContentType()); 197 ASSERT_EQ(FileContentType_Dicom, info.GetContentType());
212 212
213 accessor.SetCompressionForNextOperations(CompressionType_None); 213 accessor.SetCompressionForNextOperations(CompressionType_None);
214 FileInfo uncompressedInfo = accessor.Write(uncompressedData, FileContentType_Dicom); 214 FileInfo uncompressedInfo = accessor.Write(uncompressedData, FileContentType_Dicom);
215 215
216 accessor.SetCompressionForNextOperations(CompressionType_Zlib); 216 accessor.SetCompressionForNextOperations(CompressionType_Zlib);
217 accessor.Read(r, compressedInfo.GetUuid()); 217 accessor.Read(r, compressedInfo.GetUuid(), FileContentType_Unknown);
218 ASSERT_EQ(compressedData, r); 218 ASSERT_EQ(compressedData, r);
219 219
220 accessor.SetCompressionForNextOperations(CompressionType_None); 220 accessor.SetCompressionForNextOperations(CompressionType_None);
221 accessor.Read(r, compressedInfo.GetUuid()); 221 accessor.Read(r, compressedInfo.GetUuid(), FileContentType_Unknown);
222 ASSERT_NE(compressedData, r); 222 ASSERT_NE(compressedData, r);
223 223
224 /* 224 /*
225 // This test is too slow on Windows 225 // This test is too slow on Windows
226 accessor.SetCompressionForNextOperations(CompressionType_Zlib); 226 accessor.SetCompressionForNextOperations(CompressionType_Zlib);
227 ASSERT_THROW(accessor.Read(r, uncompressedInfo.GetUuid()), OrthancException); 227 ASSERT_THROW(accessor.Read(r, uncompressedInfo.GetUuid(), FileContentType_Unknown), OrthancException);
228 */ 228 */
229 } 229 }