mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-28 11:18:18 +00:00
Fix failing tests and optimise brick tests.
This commit is contained in:
@@ -3,28 +3,33 @@ Feature: Brick
|
||||
|
||||
Scenario: Create Brick project
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
When I press "bim.new_brick_file"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Load Brick project
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
When I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: View Brick class
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
When I press "bim.view_brick_class(brick_class='Building')"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: View Brick item
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
When I press "bim.view_brick_item(item='https://example.org/digitaltwin#lighting_zone_1')"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Rewind Brick class
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
And I press "bim.view_brick_class(brick_class='Building')"
|
||||
When I press "bim.rewind_brick_class"
|
||||
@@ -32,19 +37,23 @@ Scenario: Rewind Brick class
|
||||
|
||||
Scenario: Close Brick project
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
When I press "bim.close_brick_project"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Close Brick project then create Brick project
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
And I press "bim.close_brick_project"
|
||||
And the Brickschema is stubbed
|
||||
When I press "bim.new_brick_file"
|
||||
Then nothing happens
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Add Brick - vanilla Brick with no IFC
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.new_brick_file"
|
||||
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
|
||||
And I set "scene.BIMBrickProperties.new_brick_label" to "abc123"
|
||||
@@ -53,6 +62,7 @@ Scenario: Add Brick - vanilla Brick with no IFC
|
||||
|
||||
Scenario: Add Brick - from geometry without a Brick IFC library
|
||||
Given an empty IFC project
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.new_brick_file"
|
||||
And I add a cube
|
||||
And the object "Cube" is selected
|
||||
@@ -66,6 +76,7 @@ Scenario: Add Brick - from geometry without a Brick IFC library
|
||||
|
||||
Scenario: Add Brick - from geometry with a Brick IFC library
|
||||
Given an empty IFC project
|
||||
And the Brickschema is stubbed
|
||||
And I add a cube
|
||||
And the object "Cube" is selected
|
||||
And I set "scene.BIMRootProperties.ifc_class" to "IfcChiller"
|
||||
@@ -79,12 +90,14 @@ Scenario: Add Brick - from geometry with a Brick IFC library
|
||||
|
||||
Scenario: Refresh Brick viewer
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.new_brick_file"
|
||||
When I press "bim.refresh_brick_viewer"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Add Brick relation - vanilla Brick with no IFC
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
|
||||
And I press "bim.view_brick_class(brick_class='Lighting_Zone')"
|
||||
@@ -96,16 +109,17 @@ Scenario: Add Brick relation - vanilla Brick with no IFC
|
||||
|
||||
Scenario: Add Brick relation - vanilla Brick with no IFC and with split screen
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
|
||||
And I set "scene.BIMBrickProperties.brick_entity_create_type" to "Location"
|
||||
And I set "scene.BIMBrickProperties.new_brick_label" to "abc123"
|
||||
And I set "scene.BIMBrickProperties.brick_entity_class" to "https://brickschema.org/schema/Brick#Room"
|
||||
And I set "scene.BIMBrickProperties.brick_entity_class" to "https://brickschema.org/schema/Brick#Building"
|
||||
And I press "bim.add_brick"
|
||||
And I press "bim.view_brick_class(brick_class='Lighting_Zone')"
|
||||
And I set "scene.BIMBrickProperties.active_brick_index" to "0"
|
||||
And I set "scene.BIMBrickProperties.split_screen_toggled" to "True"
|
||||
And I press "bim.view_brick_class(brick_class='Room', split_screen=True)"
|
||||
And I press "bim.view_brick_class(brick_class='Building', split_screen=True)"
|
||||
And I set "scene.BIMBrickProperties.split_screen_active_brick_index" to "0"
|
||||
And I set "scene.BIMBrickProperties.brick_create_relations_toggled" to "True"
|
||||
When I press "bim.add_brick_relation"
|
||||
@@ -113,6 +127,7 @@ Scenario: Add Brick relation - vanilla Brick with no IFC and with split screen
|
||||
|
||||
Scenario: Remove Brick - vanilla Brick
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
And I press "bim.view_brick_class(brick_class='Lighting_Zone')"
|
||||
And I set "scene.BIMBrickProperties.active_brick_index" to "0"
|
||||
@@ -121,6 +136,7 @@ Scenario: Remove Brick - vanilla Brick
|
||||
|
||||
Scenario: Remove Brick - with a Brick IFC library reference
|
||||
Given an empty IFC project
|
||||
And the Brickschema is stubbed
|
||||
And I add a cube
|
||||
And the object "Cube" is selected
|
||||
And I set "scene.BIMRootProperties.ifc_class" to "IfcChiller"
|
||||
@@ -129,13 +145,14 @@ Scenario: Remove Brick - with a Brick IFC library reference
|
||||
And the object "IfcChiller/Cube" is selected
|
||||
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
|
||||
And I press "bim.add_brick"
|
||||
And I press "bim.view_brick_class(brick_class='Chiller')"
|
||||
And I press "bim.view_brick_class(brick_class='Equipment')"
|
||||
And I set "scene.BIMBrickProperties.active_brick_index" to "0"
|
||||
When I press "bim.remove_brick"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Change viewer list root
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
And I set "scene.BIMBrickProperties.set_list_root_toggled" to "True"
|
||||
When I set "scene.BIMBrickProperties.brick_list_root" to "Location"
|
||||
@@ -143,6 +160,7 @@ Scenario: Change viewer list root
|
||||
|
||||
Scenario: Change viewer list root - split screen
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
And I set "scene.BIMBrickProperties.set_list_root_toggled" to "True"
|
||||
And I set "scene.BIMBrickProperties.split_screen_toggled" to "True"
|
||||
@@ -151,17 +169,20 @@ Scenario: Change viewer list root - split screen
|
||||
|
||||
Scenario: Toggle split screen
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
When I set "scene.BIMBrickProperties.split_screen_toggled" to "True"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Set active namespace
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
When I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Bind new namespace
|
||||
Given an empty Blender session
|
||||
And the Brickschema is stubbed
|
||||
And I set "scene.BIMBrickProperties.new_brick_namespace_alias" to "digitaltwin2"
|
||||
And I set "scene.BIMBrickProperties.new_brick_namespace_uri" to "https://example.org/digitaltwin2#"
|
||||
When I press "bim.add_brick_namespace"
|
||||
@@ -169,12 +190,14 @@ Scenario: Bind new namespace
|
||||
|
||||
Scenario: Convert brick project
|
||||
Given an empty IFC project
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
When I press "bim.convert_brick_project"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Convert IFC to brick
|
||||
Given an empty IFC project
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
And I press "bim.convert_brick_project"
|
||||
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
|
||||
@@ -188,6 +211,7 @@ Scenario: Convert IFC to brick
|
||||
|
||||
Scenario: Assign brick reference
|
||||
Given an empty IFC project
|
||||
And the Brickschema is stubbed
|
||||
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
|
||||
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
|
||||
And I set "scene.BIMBrickProperties.brick_entity_class" to "https://brickschema.org/schema/Brick#Chiller"
|
||||
@@ -201,4 +225,4 @@ Scenario: Assign brick reference
|
||||
And the object "IfcChiller/Cube" is selected
|
||||
And I press "bim.convert_brick_project"
|
||||
When I press "bim.assign_brick_reference"
|
||||
Then nothing happens
|
||||
Then nothing happens
|
||||
|
||||
@@ -47,6 +47,7 @@ Scenario: Add representation - add a representation with a scale factor applied
|
||||
And I add a cube
|
||||
And the object "Cube" is selected
|
||||
When the object "Cube" is scaled to "2"
|
||||
And I set "scene.BIMRootProperties.ifc_product" to "IfcElement"
|
||||
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
||||
And I press "bim.assign_class"
|
||||
Then the object "IfcWall/Cube" has no scale
|
||||
@@ -58,6 +59,7 @@ Scenario: Add representation - add a representation with a scale factor removed
|
||||
And I press "object.duplicate_move_linked"
|
||||
And the object "Cube" is selected
|
||||
When the object "Cube" is scaled to "2"
|
||||
And I set "scene.BIMRootProperties.ifc_product" to "IfcElement"
|
||||
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
||||
And I press "bim.assign_class"
|
||||
Then the object "IfcWall/Cube" has no scale
|
||||
@@ -179,6 +181,7 @@ Scenario: Update representation - updating a tessellation
|
||||
Given an empty IFC project
|
||||
And I add a cube
|
||||
And the object "Cube" is selected
|
||||
And I set "scene.BIMRootProperties.ifc_product" to "IfcElement"
|
||||
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
||||
And I press "bim.assign_class"
|
||||
And I press "bim.update_representation(obj='IfcWall/Cube')"
|
||||
@@ -188,6 +191,7 @@ Scenario: Update representation - updating a layered extrusion
|
||||
Given an empty IFC project
|
||||
And I add a cube
|
||||
And the object "Cube" is selected
|
||||
And I set "scene.BIMRootProperties.ifc_product" to "IfcElement"
|
||||
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
||||
And I press "bim.assign_class"
|
||||
And I add an empty
|
||||
@@ -318,7 +322,7 @@ Scenario: Override duplicate move - copying a coloured representation
|
||||
When I duplicate the selected objects
|
||||
And I press "export_ifc.bim(filepath='{cwd}/test/files/temp/export.ifc')"
|
||||
And an empty Blender session is started
|
||||
And I press "bim.load_project(filepath='{cwd}/test/files/temp/export.ifc')"
|
||||
And I press "bim.load_project(filepath='{cwd}/test/files/temp/export.ifc', should_start_fresh_session=False)"
|
||||
Then the material "Material" colour is "1,0,0,1"
|
||||
And the object "IfcWall/Cube" has the material "Material"
|
||||
And the object "IfcWall/Cube.001" has the material "Material"
|
||||
|
||||
@@ -456,7 +456,7 @@ Scenario: Export IFC - with changed style colour synchronised
|
||||
When the material "Material" colour is set to "1,0,0,1"
|
||||
And I press "export_ifc.bim(filepath='{cwd}/test/files/temp/export.ifc')"
|
||||
And an empty Blender session is started
|
||||
And I press "bim.load_project(filepath='{cwd}/test/files/temp/export.ifc')"
|
||||
And I press "bim.load_project(filepath='{cwd}/test/files/temp/export.ifc', should_start_fresh_session=False)"
|
||||
Then the material "Material" colour is "1,0,0,1"
|
||||
|
||||
Scenario: Export IFC - with changed style element synchronised
|
||||
@@ -471,5 +471,5 @@ Scenario: Export IFC - with changed style element synchronised
|
||||
And the material "Material.001" colour is set to "1,0,0,1"
|
||||
And I press "export_ifc.bim(filepath='{cwd}/test/files/temp/export.ifc')"
|
||||
And an empty Blender session is started
|
||||
And I press "bim.load_project(filepath='{cwd}/test/files/temp/export.ifc')"
|
||||
And I press "bim.load_project(filepath='{cwd}/test/files/temp/export.ifc', should_start_fresh_session=False)"
|
||||
Then the material "Material.001" colour is "1,0,0,1"
|
||||
|
||||
Reference in New Issue
Block a user