diff --git a/reclass/datatypes/entity.py b/reclass/datatypes/entity.py
index 363df61..04e2375 100644
--- a/reclass/datatypes/entity.py
+++ b/reclass/datatypes/entity.py
@@ -30,6 +30,15 @@
         self.parameters.merge(other.parameters)
         self._name = other.name
 
+    def __eq__(self, other):
+        return self.applications == other.applications \
+                and self.classes == other.classes \
+                and self.parameters == other.parameters \
+                and self.name == other.name
+
+    def __ne__(self, other):
+        return not self.__eq__(other)
+
     def __repr__(self):
         return '<Entity{0} classes:{1} applications:{2}, parameters:{3}>'.format(
             '' if not self.name else " '%s'" % self.name,
diff --git a/reclass/datatypes/tests/test_entity.py b/reclass/datatypes/tests/test_entity.py
index 7e7f3b7..79a5274 100644
--- a/reclass/datatypes/tests/test_entity.py
+++ b/reclass/datatypes/tests/test_entity.py
@@ -27,3 +27,14 @@
         assert e.classes == c
         assert e.parameters == p
         assert e.applications == a
+
+    def test_merge_to_empty(self):
+        e1 = Entity()
+        c = Classes(['one', 'two'])
+        p = Parameters({'blue':'white', 'black':'yellow'})
+        a = Applications(['three', 'four'])
+        e2 = Entity(c, a, p)
+        e1.merge(e2)
+        assert e1.classes == e2.classes
+        assert e1.applications == e2.applications
+        assert e1.parameters == e2.parameters
