Mercurial > hg > orthanc
comparison UnitTestsSources/FromDcmtkTests.cpp @ 1090:e494ceb8d763
support more encodings
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 05 Aug 2014 12:04:23 +0200 |
parents | 5ea0b56e850d |
children | a66224eec125 |
comparison
equal
deleted
inserted
replaced
1089:5ea0b56e850d | 1090:e494ceb8d763 |
---|---|
177 o.SaveToFile("UnitTestsResults/png4.dcm"); | 177 o.SaveToFile("UnitTestsResults/png4.dcm"); |
178 } | 178 } |
179 } | 179 } |
180 | 180 |
181 | 181 |
182 TEST(Toolbox, Encodings1) | 182 TEST(FromDcmtkBridge, Encodings1) |
183 { | 183 { |
184 for (unsigned int i = 0; i < testEncodingsCount; i++) | 184 for (unsigned int i = 0; i < testEncodingsCount; i++) |
185 { | 185 { |
186 std::string source(testEncodingsEncoded[i]); | 186 std::string source(testEncodingsEncoded[i]); |
187 std::string expected(testEncodingsExpected[i]); | 187 std::string expected(testEncodingsExpected[i]); |
188 std::string s = Toolbox::ConvertToUtf8(source, testEncodings[i]); | 188 std::string s = Toolbox::ConvertToUtf8(source, testEncodings[i]); |
189 std::cout << EnumerationToString(testEncodings[i]) << std::endl; | 189 std::cout << EnumerationToString(testEncodings[i]) << std::endl; |
190 EXPECT_EQ(expected, s); | 190 EXPECT_EQ(expected, s); |
191 } | 191 } |
192 } | 192 } |
193 | |
194 | |
195 TEST(FromDcmtkBridge, Enumerations) | |
196 { | |
197 Encoding e; | |
198 | |
199 ASSERT_FALSE(GetDicomEncoding(e, "")); | |
200 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 6")); ASSERT_EQ(Encoding_Utf8, e); | |
201 | |
202 // http://www.dabsoft.ch/dicom/3/C.12.1.1.2/ - Table C.12-2 | |
203 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 100")); ASSERT_EQ(Encoding_Latin1, e); | |
204 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 101")); ASSERT_EQ(Encoding_Latin2, e); | |
205 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 109")); ASSERT_EQ(Encoding_Latin3, e); | |
206 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 110")); ASSERT_EQ(Encoding_Latin4, e); | |
207 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 144")); ASSERT_EQ(Encoding_Cyrillic, e); | |
208 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 127")); ASSERT_EQ(Encoding_Arabic, e); | |
209 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 126")); ASSERT_EQ(Encoding_Greek, e); | |
210 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 138")); ASSERT_EQ(Encoding_Hebrew, e); | |
211 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 148")); ASSERT_EQ(Encoding_Latin5, e); | |
212 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 13")); ASSERT_EQ(Encoding_Japanese, e); | |
213 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 166")); ASSERT_EQ(Encoding_Thai, e); | |
214 | |
215 // http://www.dabsoft.ch/dicom/3/C.12.1.1.2/ - Table C.12-3 | |
216 ASSERT_TRUE(GetDicomEncoding(e, "ISO 2022 IR 6")); ASSERT_EQ(Encoding_Utf8, e); | |
217 ASSERT_TRUE(GetDicomEncoding(e, "ISO 2022 IR 100")); ASSERT_EQ(Encoding_Latin1, e); | |
218 ASSERT_TRUE(GetDicomEncoding(e, "ISO 2022 IR 101")); ASSERT_EQ(Encoding_Latin2, e); | |
219 ASSERT_TRUE(GetDicomEncoding(e, "ISO 2022 IR 109")); ASSERT_EQ(Encoding_Latin3, e); | |
220 ASSERT_TRUE(GetDicomEncoding(e, "ISO 2022 IR 110")); ASSERT_EQ(Encoding_Latin4, e); | |
221 ASSERT_TRUE(GetDicomEncoding(e, "ISO 2022 IR 144")); ASSERT_EQ(Encoding_Cyrillic, e); | |
222 ASSERT_TRUE(GetDicomEncoding(e, "ISO 2022 IR 127")); ASSERT_EQ(Encoding_Arabic, e); | |
223 ASSERT_TRUE(GetDicomEncoding(e, "ISO 2022 IR 126")); ASSERT_EQ(Encoding_Greek, e); | |
224 ASSERT_TRUE(GetDicomEncoding(e, "ISO 2022 IR 138")); ASSERT_EQ(Encoding_Hebrew, e); | |
225 ASSERT_TRUE(GetDicomEncoding(e, "ISO 2022 IR 148")); ASSERT_EQ(Encoding_Latin5, e); | |
226 ASSERT_TRUE(GetDicomEncoding(e, "ISO 2022 IR 13")); ASSERT_EQ(Encoding_Japanese, e); | |
227 ASSERT_TRUE(GetDicomEncoding(e, "ISO 2022 IR 166")); ASSERT_EQ(Encoding_Thai, e); | |
228 | |
229 // http://www.dabsoft.ch/dicom/3/C.12.1.1.2/ - Table C.12-4 | |
230 ASSERT_FALSE(GetDicomEncoding(e, "ISO 2022 IR 87")); //ASSERT_EQ(Encoding_JapaneseKanji, e); | |
231 ASSERT_FALSE(GetDicomEncoding(e, "ISO 2022 IR 159")); //ASSERT_EQ(Encoding_JapaneseKanjiSupplementary, e); | |
232 ASSERT_FALSE(GetDicomEncoding(e, "ISO 2022 IR 149")); //ASSERT_EQ(Encoding_Korean, e); | |
233 | |
234 // http://www.dabsoft.ch/dicom/3/C.12.1.1.2/ - Table C.12-5 | |
235 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 192")); ASSERT_EQ(Encoding_Utf8, e); | |
236 ASSERT_TRUE(GetDicomEncoding(e, "GB18030")); ASSERT_EQ(Encoding_Chinese, e); | |
237 } | |
238 | |
239 | |
240 TEST(FromDcmtkBridge, DISABLED_Encodings3) | |
241 { | |
242 for (unsigned int i = 0; i < testEncodingsCount; i++) | |
243 { | |
244 ParsedDicomFile f; | |
245 f.SetEncoding(testEncodings[i]); | |
246 | |
247 std::string source(testEncodingsEncoded[i]); | |
248 std::string expected(testEncodingsExpected[i]); | |
249 std::string s = Toolbox::ConvertToUtf8(source, testEncodings[i]); | |
250 std::cout << EnumerationToString(testEncodings[i]) << std::endl; | |
251 EXPECT_EQ(expected, s); | |
252 } | |
253 } |