From e523312fa29d3615872ea6cadca4bfa0715f56c5 Mon Sep 17 00:00:00 2001
From: Niels Lohmann <mail@nlohmann.me>
Date: Thu, 3 Aug 2017 17:47:42 +0200
Subject: [PATCH] :white_check_mark: improved test coverage

---
 test/src/unit-modifiers.cpp | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/test/src/unit-modifiers.cpp b/test/src/unit-modifiers.cpp
index 64ac0b03..107d0575 100644
--- a/test/src/unit-modifiers.cpp
+++ b/test/src/unit-modifiers.cpp
@@ -752,6 +752,19 @@ TEST_CASE("modifiers")
             {
                 j_object1.update(j_object2);
                 CHECK(j_object1 == json({{"one", "eins"}, {"two", "zwo"}, {"three", "drei"}}));
+
+                json j_null;
+                j_null.update(j_object2);
+                CHECK(j_null == j_object2);
+            }
+
+            SECTION("wrong types")
+            {
+                CHECK_THROWS_AS(j_array.update(j_object1), json::type_error&);
+                CHECK_THROWS_WITH(j_array.update(j_object1), "[json.exception.type_error.305] cannot use merge() with array");
+
+                CHECK_THROWS_AS(j_object1.update(j_array), json::type_error&);
+                CHECK_THROWS_WITH(j_object1.update(j_array), "[json.exception.type_error.305] cannot use merge() with array");
             }
         }
 
@@ -761,6 +774,10 @@ TEST_CASE("modifiers")
             {
                 j_object1.update(j_object2.begin(), j_object2.end());
                 CHECK(j_object1 == json({{"one", "eins"}, {"two", "zwo"}, {"three", "drei"}}));
+
+                json j_null;
+                j_null.update(j_object2.begin(), j_object2.end());
+                CHECK(j_null == j_object2);
             }
 
             SECTION("empty range")