Handle entity equality comparison against non-matching types

Signed-off-by: martin f. krafft <madduck@madduck.net>
diff --git a/reclass/datatypes/parameters.py b/reclass/datatypes/parameters.py
index ccfb6fe..078a247 100644
--- a/reclass/datatypes/parameters.py
+++ b/reclass/datatypes/parameters.py
@@ -59,7 +59,8 @@
                                self.delimiter)
 
     def __eq__(self, other):
-        return self._base == other._base \
+        return isinstance(other, type(self)) \
+                and self._base == other._base \
                 and self._delimiter == other._delimiter
 
     def __ne__(self, other):
diff --git a/reclass/datatypes/tests/test_parameters.py b/reclass/datatypes/tests/test_parameters.py
index 5732018..8103aaf 100644
--- a/reclass/datatypes/tests/test_parameters.py
+++ b/reclass/datatypes/tests/test_parameters.py
@@ -98,6 +98,11 @@
         self.assertNotEqual(p1, p2)
         b1.__eq__.assert_called_once_with(b2)
 
+    def test_unequal_types(self):
+        p1, b1 = self._construct_mocked_params()
+        self.assertNotEqual(p1, None)
+        self.assertEqual(b1.__eq__.call_count, 0)
+
     def test_construct_wrong_type(self):
         with self.assertRaises(TypeError):
             self._construct_mocked_params('wrong type')