aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/xyz/driver/pdsuidomain/formats/json/MedicalRecordFormatSuite.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/xyz/driver/pdsuidomain/formats/json/MedicalRecordFormatSuite.scala')
-rw-r--r--src/test/scala/xyz/driver/pdsuidomain/formats/json/MedicalRecordFormatSuite.scala74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/MedicalRecordFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/MedicalRecordFormatSuite.scala
index e811a29..b4e37a2 100644
--- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/MedicalRecordFormatSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/MedicalRecordFormatSuite.scala
@@ -12,6 +12,80 @@ class MedicalRecordFormatSuite extends FlatSpec with Matchers {
import xyz.driver.pdsuidomain.formats.json.record._
import MedicalRecord._
+ "Json format for MedicalRecord.Meta" should "read and write correct JSON" in {
+ val duplicate1 = Meta.Duplicate(
+ startPage = 1.0d,
+ endPage = 2.0d,
+ startOriginalPage = 1.0d,
+ endOriginalPage = Some(2.0d)
+ )
+
+ val duplicate2 = Meta.Duplicate(
+ startPage = 1.0d,
+ endPage = 2.0d,
+ startOriginalPage = 1.0d,
+ endOriginalPage = None
+ )
+
+ val reorder = Meta.Reorder(
+ Seq(1, 2)
+ )
+
+ val rotation = Meta.Rotation(
+ Map("item1" -> 1, "item2" -> 2)
+ )
+
+ val writtenDuplicateJson1 =
+ duplicateMetaFormat.write(duplicate1)
+
+ val writtenDuplicateJson2 =
+ duplicateMetaFormat.write(duplicate2)
+
+ val writtenReorderJson =
+ reorderMetaFormat.write(reorder)
+
+ val writtenRotationJson =
+ rotateMetaFormat.write(rotation)
+
+ writtenDuplicateJson1 should be(
+ """{"startOriginalPage":1.0,"endPage":2.0,"startPage":1.0,"type":"duplicate","endOriginalPage":2.0}""".parseJson)
+
+ writtenDuplicateJson2 should be(
+ """{"startOriginalPage":1.0,"endPage":2.0,"startPage":1.0,"type":"duplicate","endOriginalPage":null}""".parseJson)
+
+ writtenReorderJson should be(
+ """{"type":"reorder","items":[1,2]}""".parseJson)
+
+ writtenRotationJson should be(
+ """{"type":"rotation","items":{"item1":1,"item2":2}}""".parseJson)
+
+ val parsedDuplicateJson1 =
+ duplicateMetaFormat.read(writtenDuplicateJson1)
+
+ val parsedDuplicateJson2 =
+ duplicateMetaFormat.read(writtenDuplicateJson2)
+
+ val parsedReorderJson =
+ reorderMetaFormat.read(writtenReorderJson)
+
+ val parsedRotationJson =
+ rotateMetaFormat.read(writtenRotationJson)
+
+ duplicate1 should be(parsedDuplicateJson1)
+
+ duplicate2 should be(parsedDuplicateJson2)
+
+ reorder should be(parsedReorderJson)
+
+ rotation should be(parsedRotationJson)
+
+ duplicate1 should be(recordMetaTypeFormat.read(recordMetaTypeFormat.write(duplicate1)))
+ duplicate2 should be(recordMetaTypeFormat.read(recordMetaTypeFormat.write(duplicate2)))
+ reorder should be(recordMetaTypeFormat.read(recordMetaTypeFormat.write(reorder)))
+ rotation should be(recordMetaTypeFormat.read(recordMetaTypeFormat.write(rotation)))
+ }
+
+
"Json format for MedicalRecord" should "read and write correct JSON" in {
val orig = MedicalRecord(
id = LongId(1),