Mercurial > hg > orthanc
diff UnitTestsSources/MultiThreadingTests.cpp @ 2667:5fa2f2ce74f0 jobs
serialization of JobsRegistry
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 08 Jun 2018 15:48:35 +0200 |
parents | 2540ac79ab6c |
children | 06c0a6b8a871 |
line wrap: on
line diff
--- a/UnitTestsSources/MultiThreadingTests.cpp Fri Jun 08 15:05:32 2018 +0200 +++ b/UnitTestsSources/MultiThreadingTests.cpp Fri Jun 08 15:48:35 2018 +0200 @@ -132,6 +132,8 @@ virtual bool Serialize(Json::Value& value) { + value = Json::objectValue; + value["Type"] = "DummyJob"; return true; } @@ -180,6 +182,10 @@ { return new DummyInstancesJob(value); } + else if (SerializationToolbox::ReadString(value, "Type") == "DummyJob") + { + return new DummyJob; + } else { return GenericJobUnserializer::UnserializeJob(value); @@ -1465,5 +1471,22 @@ TEST(JobsSerialization, Registry) { - // TODO : Test serialization of JobsRegistry + Json::Value s; + std::string i1, i2; + + { + JobsRegistry registry; + registry.Submit(i1, new DummyJob(), 10); + registry.Submit(i2, new SequenceOfOperationsJob(), 30); + registry.Serialize(s); + } + + { + DummyUnserializer unserializer; + JobsRegistry registry(unserializer, s); + + Json::Value t; + registry.Serialize(t); + ASSERT_TRUE(CheckSameJson(s, t)); + } }