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 }