Files
IfcOpenShell/src/ifcopenshell-python/test/global_id_updates.py
T
2025-12-19 18:53:14 +05:00

29 lines
593 B
Python

import pytest
import ifcopenshell
import ifcopenshell.guid
def test_global_id_updates():
g1, g2, g3 = (ifcopenshell.guid.new() for i in range(3))
f = ifcopenshell.file()
f.createIfcWall(g1)
f[g1].GlobalId = g2
with pytest.raises(RuntimeError):
f[g1]
assert f[g2]
inst = f.createIfcWall()
inst.GlobalId = g3
assert f[g3]
# Non-unique guid, succeeds but logs an error
ifcopenshell.get_log()
inst = f.createIfcWall(g3)
assert "Overwriting" in ifcopenshell.get_log()
if __name__ == "__main__":
pytest.main(["-sx", __file__])