diff --git a/src/ansys/motorcad/core/geometry.py b/src/ansys/motorcad/core/geometry.py index 8f13d8e92..7662dd530 100644 --- a/src/ansys/motorcad/core/geometry.py +++ b/src/ansys/motorcad/core/geometry.py @@ -2083,6 +2083,10 @@ def __eq__(self, other): """Compare equality of 2 EntityList objects.""" return self._entities_same(other, check_reverse=True) + def __ne__(self, other): + """Compare difference of 2 EntityList objects.""" + return not self == other + def reverse(self): """Reverse EntityList, including entity start end coordinates.""" super().reverse() @@ -2139,6 +2143,9 @@ def _entities_same_with_direction(entities_1, entities_2): else: return False + if len(self) != len(entities_to_compare): + return False + if check_reverse: if _entities_same_with_direction(self, entities_to_compare): return True diff --git a/tests/test_geometry.py b/tests/test_geometry.py index 0a042f592..3e242d92e 100644 --- a/tests/test_geometry.py +++ b/tests/test_geometry.py @@ -509,6 +509,15 @@ def test_reverse_arc(): assert arc == expected_line +def test_entities_same_subset(): + arc1 = Arc(Coordinate(1, 0), Coordinate(0, 1), radius=1) + arc2 = Arc(Coordinate(0, 1), Coordinate(-1, 0), radius=1) + ent1 = geometry.EntityList([arc1, arc2]) + ent2 = geometry.EntityList([arc1]) + + assert ent1 != ent2 + + def test_entities_same(): region = generate_constant_region() region_expected = generate_constant_region()