Fix bug where schema instead of schema_identifer was used to get the schema_by_name. Fix tests to use IFC4X3_ADD2 so that you only need the official version compiled

This commit is contained in:
Dion Moult
2024-07-11 22:26:12 +10:00
parent 9f14769cba
commit a6940d2cba
3 changed files with 5 additions and 5 deletions
@@ -795,7 +795,7 @@ def is_attr_type(
def iter_element_and_attributes_per_type(
ifc_file: ifcopenshell.file, attr_type_name: str
) -> Iterable[tuple[ifcopenshell.entity_instance, ifcopenshell_wrapper.attribute, Any]]:
schema: ifcopenshell_wrapper.schema_definition = ifcopenshell_wrapper.schema_by_name(ifc_file.schema)
schema: ifcopenshell_wrapper.schema_definition = ifcopenshell_wrapper.schema_by_name(ifc_file.schema_identifier)
for element in ifc_file:
entity = schema.declaration_by_name(element.is_a())
@@ -2,7 +2,7 @@ ISO-10303-21;
HEADER;
FILE_DESCRIPTION((''),'2;1');
FILE_NAME('','2019-03-20T15:56:44',(''),(''),'BuildingSmart IfcKit by Constructivity','IfcDoc 12.0.0.0','');
FILE_SCHEMA(('IFC4x1'));
FILE_SCHEMA(('IFC4X3_ADD2'));
ENDSEC;
DATA;
+3 -3
View File
@@ -166,10 +166,10 @@ class TestFile(test.bootstrap.IFC4):
assert f.schema_version == (4, 3, 2, 0)
def test_creating_a_specific_version(self):
f = ifcopenshell.file(schema_version=(4, 3, 1, 0))
f = ifcopenshell.file(schema_version=(4, 3, 2, 0))
assert f.schema == "IFC4X3"
assert f.schema_identifier == "IFC4X3_ADD1"
assert f.schema_version == (4, 3, 1, 0)
assert f.schema_identifier == "IFC4X3_ADD2"
assert f.schema_version == (4, 3, 2, 0)
def test_creating_an_entity(self):
element = self.file.create_entity("IfcPerson")