From d386a884aa6799611ac3bde4a96cfad1a072c329 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 5 Jan 2023 17:22:11 +1100 Subject: [PATCH] You can now purge properties explicitly instead of setting them to None --- src/ifcopenshell-python/test/api/pset/test_edit_pset.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/ifcopenshell-python/test/api/pset/test_edit_pset.py b/src/ifcopenshell-python/test/api/pset/test_edit_pset.py index de9cb352b5..58784a7222 100644 --- a/src/ifcopenshell-python/test/api/pset/test_edit_pset.py +++ b/src/ifcopenshell-python/test/api/pset/test_edit_pset.py @@ -90,6 +90,14 @@ class TestEditPset(test.bootstrap.IFC4): pset = element.IsDefinedBy[0].RelatingPropertyDefinition assert len(pset.HasProperties) == 0 + def test_removing_a_none_property_if_specified(self): + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") + pset = ifcopenshell.api.run("pset.add_pset", self.file, product=element, name="Pset_WallCommon") + ifcopenshell.api.run("pset.edit_pset", self.file, pset=pset, properties={"Reference": "Foo"}) + ifcopenshell.api.run("pset.edit_pset", self.file, pset=pset, properties={"Reference": None}, should_purge=True) + pset = element.IsDefinedBy[0].RelatingPropertyDefinition + assert len(pset.HasProperties) == 0 + def test_editing_a_pset_name(self): element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", self.file, product=element, name="foo")