Mercurial > hg > orthanc
comparison UnitTestsSources/DicomMapTests.cpp @ 3196:763738c1f9f6
cont
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 05 Feb 2019 20:55:27 +0100 |
parents | 880e4161c312 |
children | 24a76ed0d8a3 |
comparison
equal
deleted
inserted
replaced
3195:880e4161c312 | 3196:763738c1f9f6 |
---|---|
797 Json::Value& node = CreateNode(parentTags, parentIndexes, tag); | 797 Json::Value& node = CreateNode(parentTags, parentIndexes, tag); |
798 node[KEY_VR] = EnumerationToString(ValueRepresentation_AttributeTag); | 798 node[KEY_VR] = EnumerationToString(ValueRepresentation_AttributeTag); |
799 | 799 |
800 if (!values.empty()) | 800 if (!values.empty()) |
801 { | 801 { |
802 // TODO | 802 Json::Value content = Json::arrayValue; |
803 for (size_t i = 0; i < values.size(); i++) | |
804 { | |
805 content.append(FormatTag(values[i])); | |
806 } | |
807 | |
808 node[KEY_VALUE] = content; | |
803 } | 809 } |
804 } | 810 } |
805 } | 811 } |
806 | 812 |
807 virtual Action VisitString(std::string& newValue, | 813 virtual Action VisitString(std::string& newValue, |
856 | 862 |
857 default: | 863 default: |
858 { | 864 { |
859 size_t l = tokens[i].size(); | 865 size_t l = tokens[i].size(); |
860 | 866 |
861 if (l > 0 && | 867 if (l == 0) |
862 tokens[i][l - 1] == '\0') | |
863 { | 868 { |
864 tokens[i] = tokens[i].substr(0, l - 1); | 869 node[KEY_VALUE].append(Json::nullValue); |
865 } | 870 } |
866 | 871 else |
867 node[KEY_VALUE].append(tokens[i]); | 872 { |
873 if (tokens[i][l - 1] == '\0') | |
874 { | |
875 tokens[i] = tokens[i].substr(0, l - 1); | |
876 } | |
877 | |
878 node[KEY_VALUE].append(tokens[i]); | |
879 } | |
880 | |
868 break; | 881 break; |
869 } | 882 } |
870 } | 883 } |
871 } | 884 } |
872 catch (boost::bad_lexical_cast&) | 885 catch (boost::bad_lexical_cast&) |
889 | 902 |
890 MarekLatin2.dcm | 903 MarekLatin2.dcm |
891 HierarchicalAnonymization/StructuredReports/IM0 | 904 HierarchicalAnonymization/StructuredReports/IM0 |
892 DummyCT.dcm | 905 DummyCT.dcm |
893 Brainix/Epi/IM-0001-0018.dcm | 906 Brainix/Epi/IM-0001-0018.dcm |
907 Issue22.dcm | |
894 | 908 |
895 | 909 |
896 cat << EOF > /tmp/tutu.py | 910 cat << EOF > /tmp/tutu.py |
897 import json | 911 import json |
898 import sys | 912 import sys |
899 j = json.loads(sys.stdin.read().decode("utf-8-sig")) | 913 j = json.loads(sys.stdin.read().decode("utf-8-sig")) |
900 print(json.dumps(j, indent=4, sort_keys=True, ensure_ascii=False).encode('utf-8')) | 914 print(json.dumps(j, indent=4, sort_keys=True, ensure_ascii=False).encode('utf-8')) |
901 EOF | 915 EOF |
902 | 916 |
903 DCMDICTPATH=/home/jodogne/Downloads/dcmtk-3.6.4/dcmdata/data/dicom.dic /home/jodogne/Downloads/dcmtk-3.6.4/i/bin/dcm2json ~/Subversion/orthanc-tests/Database/HierarchicalAnonymization/StructuredReports/IM0 | tr -d '\0' | sed 's/\\u0000//g' | sed 's/\.0$//' | python /tmp/tutu.py > /tmp/a.json | 917 DCMDICTPATH=/home/jodogne/Downloads/dcmtk-3.6.4/dcmdata/data/dicom.dic /home/jodogne/Downloads/dcmtk-3.6.4/i/bin/dcm2json ~/Subversion/orthanc-tests/Database/Issue22.dcm | tr -d '\0' | sed 's/\\u0000//g' | sed 's/\.0$//' | python /tmp/tutu.py > /tmp/a.json |
904 | 918 |
905 make -j4 && ./UnitTests --gtest_filter=DicomWeb* && python /tmp/tutu.py < /tmp/tutu.json > /tmp/b.json && diff -i /tmp/a.json /tmp/b.json | 919 make -j4 && ./UnitTests --gtest_filter=DicomWeb* && python /tmp/tutu.py < /tmp/tutu.json > /tmp/b.json && diff -i /tmp/a.json /tmp/b.json |
906 | 920 |
907 */ | 921 */ |
908 | 922 |
909 TEST(DicomWebJson, Basic) | 923 TEST(DicomWebJson, Basic) |
910 { | 924 { |
911 std::string content; | 925 std::string content; |
912 Orthanc::SystemToolbox::ReadFile(content, "/home/jodogne/Subversion/orthanc-tests/Database/HierarchicalAnonymization/StructuredReports/IM0"); | 926 Orthanc::SystemToolbox::ReadFile(content, "/home/jodogne/Subversion/orthanc-tests/Database/Issue22.dcm"); |
913 | 927 |
914 Orthanc::ParsedDicomFile dicom(content); | 928 Orthanc::ParsedDicomFile dicom(content); |
915 | 929 |
916 Orthanc::DicomJsonVisitor visitor; | 930 Orthanc::DicomJsonVisitor visitor; |
917 dicom.Apply(visitor); | 931 dicom.Apply(visitor); |