Mercurial > hg > orthanc
comparison UnitTestsSources/MultiThreadingTests.cpp @ 2662:47d812308d63 jobs
serialization of DicomModification
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 07 Jun 2018 17:47:41 +0200 |
parents | 27b7884512be |
children | 228e2783ce83 |
comparison
equal
deleted
inserted
replaced
2660:27b7884512be | 2662:47d812308d63 |
---|---|
889 | 889 |
890 // TODO : Test SequenceOfOperationsJob.h | 890 // TODO : Test SequenceOfOperationsJob.h |
891 } | 891 } |
892 | 892 |
893 | 893 |
894 static bool IsSameTagValue(ParsedDicomFile& dicom1, | |
895 ParsedDicomFile& dicom2, | |
896 DicomTag tag) | |
897 { | |
898 std::string a, b; | |
899 return (dicom1.GetTagValue(a, tag) && | |
900 dicom2.GetTagValue(b, tag) && | |
901 (a == b)); | |
902 } | |
903 | |
904 | |
905 | |
894 TEST(JobsSerialization, DicomModification) | 906 TEST(JobsSerialization, DicomModification) |
895 { | 907 { |
896 // TODO : Test serialization of DicomModification | 908 Json::Value s; |
909 | |
910 ParsedDicomFile source(true); | |
911 source.Insert(DICOM_TAG_STUDY_DESCRIPTION, "Test 1", false); | |
912 source.Insert(DICOM_TAG_SERIES_DESCRIPTION, "Test 2", false); | |
913 source.Insert(DICOM_TAG_PATIENT_NAME, "Test 3", false); | |
914 | |
915 std::auto_ptr<ParsedDicomFile> modified(source.Clone(true)); | |
916 | |
917 { | |
918 DicomModification modification; | |
919 modification.SetLevel(ResourceType_Series); | |
920 modification.Clear(DICOM_TAG_STUDY_DESCRIPTION); | |
921 modification.Remove(DICOM_TAG_SERIES_DESCRIPTION); | |
922 modification.Replace(DICOM_TAG_PATIENT_NAME, "Test 4", true); | |
923 | |
924 modification.Apply(*modified); | |
925 modification.Serialize(s); | |
926 } | |
927 | |
928 { | |
929 DicomModification modification(s); | |
930 ASSERT_EQ(ResourceType_Series, modification.GetLevel()); | |
931 | |
932 std::auto_ptr<ParsedDicomFile> second(source.Clone(true)); | |
933 modification.Apply(*second); | |
934 | |
935 std::string s; | |
936 ASSERT_TRUE(second->GetTagValue(s, DICOM_TAG_STUDY_DESCRIPTION)); | |
937 ASSERT_TRUE(s.empty()); | |
938 ASSERT_FALSE(second->GetTagValue(s, DICOM_TAG_SERIES_DESCRIPTION)); | |
939 ASSERT_TRUE(second->GetTagValue(s, DICOM_TAG_PATIENT_NAME)); | |
940 ASSERT_EQ("Test 4", s); | |
941 | |
942 ASSERT_TRUE(IsSameTagValue(source, *modified, DICOM_TAG_STUDY_INSTANCE_UID)); | |
943 ASSERT_TRUE(IsSameTagValue(source, *second, DICOM_TAG_STUDY_INSTANCE_UID)); | |
944 | |
945 ASSERT_FALSE(IsSameTagValue(source, *second, DICOM_TAG_SERIES_INSTANCE_UID)); | |
946 ASSERT_TRUE(IsSameTagValue(*modified, *second, DICOM_TAG_SERIES_INSTANCE_UID)); | |
947 } | |
897 } | 948 } |
898 | 949 |
899 | 950 |
900 TEST(JobsSerialization, Registry) | 951 TEST(JobsSerialization, Registry) |
901 { | 952 { |
1069 ASSERT_EQ("a", tmp.GetPreArgument(0)); | 1120 ASSERT_EQ("a", tmp.GetPreArgument(0)); |
1070 ASSERT_EQ("b", tmp.GetPreArgument(1)); | 1121 ASSERT_EQ("b", tmp.GetPreArgument(1)); |
1071 ASSERT_EQ("c", tmp.GetPostArgument(0)); | 1122 ASSERT_EQ("c", tmp.GetPostArgument(0)); |
1072 } | 1123 } |
1073 | 1124 |
1074 // TODO : ModifyInstanceOperation | 1125 // ModifyInstanceOperation |
1075 | 1126 |
1076 /* | |
1077 { | 1127 { |
1078 std::auto_ptr<DicomModification> modification(new DicomModification); | 1128 std::auto_ptr<DicomModification> modification(new DicomModification); |
1129 modification->SetupAnonymization(DicomVersion_2008); | |
1079 | 1130 |
1080 ModifyInstanceOperation operation(GetContext(), RequestOrigin_Lua, modification.release()); | 1131 ModifyInstanceOperation operation(GetContext(), RequestOrigin_Lua, modification.release()); |
1081 operation.Serialize(s); | 1132 operation.Serialize(s); |
1082 } | 1133 } |
1083 | 1134 |
1084 { | 1135 { |
1085 operation.reset(unserializer.UnserializeOperation(s)); | 1136 operation.reset(unserializer.UnserializeOperation(s)); |
1086 | 1137 |
1087 const ModifyInstanceOperation& tmp = dynamic_cast<ModifyInstanceOperation&>(*operation); | 1138 const ModifyInstanceOperation& tmp = dynamic_cast<ModifyInstanceOperation&>(*operation); |
1088 ASSERT_EQ(RequestOrigin_Lua, tmp.GetRequestOrigin()); | 1139 ASSERT_EQ(RequestOrigin_Lua, tmp.GetRequestOrigin()); |
1089 }*/ | 1140 ASSERT_TRUE(tmp.GetModification().IsRemoved(DICOM_TAG_STUDY_DESCRIPTION)); |
1141 } | |
1090 } | 1142 } |
1091 | 1143 |
1092 | 1144 |
1093 TEST_F(OrthancJobsSerialization, Jobs) | 1145 TEST_F(OrthancJobsSerialization, Jobs) |
1094 { | 1146 { |