From e64047c511e12a84a6516ecab02d6bcce8effbfb Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 11 Jan 2023 12:49:47 +0100 Subject: [PATCH] WR test cases for rigid op / typeof() of simple types --- ...laneAngleMeasure-IfcLengthMeasure-ifc4x3_add1.ifc | 12 ++++++++++++ .../test/fixtures/rules/generate_18.py | 12 ++++++++++++ ...AngleMeasure-IfcPlaneAngleMeasure-ifc4x3_add1.ifc | 12 ++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 src/ifcopenshell-python/test/fixtures/rules/fail-rigid-op-IfcPlaneAngleMeasure-IfcLengthMeasure-ifc4x3_add1.ifc create mode 100644 src/ifcopenshell-python/test/fixtures/rules/generate_18.py create mode 100644 src/ifcopenshell-python/test/fixtures/rules/pass-rigid-op-IfcPlaneAngleMeasure-IfcPlaneAngleMeasure-ifc4x3_add1.ifc diff --git a/src/ifcopenshell-python/test/fixtures/rules/fail-rigid-op-IfcPlaneAngleMeasure-IfcLengthMeasure-ifc4x3_add1.ifc b/src/ifcopenshell-python/test/fixtures/rules/fail-rigid-op-IfcPlaneAngleMeasure-IfcLengthMeasure-ifc4x3_add1.ifc new file mode 100644 index 0000000000..07d4da8efa --- /dev/null +++ b/src/ifcopenshell-python/test/fixtures/rules/fail-rigid-op-IfcPlaneAngleMeasure-IfcLengthMeasure-ifc4x3_add1.ifc @@ -0,0 +1,12 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('','2023-01-11T09:47:45',(),(),'IfcOpenShell v0.7.0-8a108f37','IfcOpenShell v0.7.0-8a108f37',''); +FILE_SCHEMA(('IFC4X3_ADD1')); +ENDSEC; +DATA; +#1=IFCGEOGRAPHICCRS('EPSG:4326',$,$,$,$); +#2=IFCGEOGRAPHICCRS('EPSG:3857',$,$,$,$); +#3=IFCRIGIDOPERATION(#1,#2,IFCLENGTHMEASURE(0.),IFCPLANEANGLEMEASURE(0.),0.); +ENDSEC; +END-ISO-10303-21; diff --git a/src/ifcopenshell-python/test/fixtures/rules/generate_18.py b/src/ifcopenshell-python/test/fixtures/rules/generate_18.py new file mode 100644 index 0000000000..7f59b07b83 --- /dev/null +++ b/src/ifcopenshell-python/test/fixtures/rules/generate_18.py @@ -0,0 +1,12 @@ +import ifcopenshell + +for i, type_decl in enumerate(('IfcLengthMeasure', 'IfcPlaneAngleMeasure')): + f = ifcopenshell.file(schema="IFC4X3_ADD1") + f.createIfcRigidOperation( + SourceCRS=f.createIfcGeographicCRS('EPSG:4326'), + TargetCRS=f.createIfcGeographicCRS('EPSG:3857'), + FirstCoordinate=f.create_entity(type_decl, 0.0), + SecondCoordinate=f.create_entity('IfcPlaneAngleMeasure', 0.0), + Height=0.0 + ) + f.write(f"{'pass' if i else 'fail'}-rigid-op-IfcPlaneAngleMeasure-{type_decl}-ifc4x3_add1.ifc") diff --git a/src/ifcopenshell-python/test/fixtures/rules/pass-rigid-op-IfcPlaneAngleMeasure-IfcPlaneAngleMeasure-ifc4x3_add1.ifc b/src/ifcopenshell-python/test/fixtures/rules/pass-rigid-op-IfcPlaneAngleMeasure-IfcPlaneAngleMeasure-ifc4x3_add1.ifc new file mode 100644 index 0000000000..fce85eeb73 --- /dev/null +++ b/src/ifcopenshell-python/test/fixtures/rules/pass-rigid-op-IfcPlaneAngleMeasure-IfcPlaneAngleMeasure-ifc4x3_add1.ifc @@ -0,0 +1,12 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); +FILE_NAME('','2023-01-11T09:47:45',(),(),'IfcOpenShell v0.7.0-8a108f37','IfcOpenShell v0.7.0-8a108f37',''); +FILE_SCHEMA(('IFC4X3_ADD1')); +ENDSEC; +DATA; +#1=IFCGEOGRAPHICCRS('EPSG:4326',$,$,$,$); +#2=IFCGEOGRAPHICCRS('EPSG:3857',$,$,$,$); +#3=IFCRIGIDOPERATION(#1,#2,IFCPLANEANGLEMEASURE(0.),IFCPLANEANGLEMEASURE(0.),0.); +ENDSEC; +END-ISO-10303-21;