Add test for merging into empty Entity
Signed-off-by: martin f. krafft <madduck@madduck.net>
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