mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-12 06:32:09 +00:00
#1153 You can now manage assigned products for all annotations
This commit is contained in:
@@ -43,30 +43,30 @@ class TestEditText:
|
||||
subject.edit_text(ifc, drawing, obj="obj")
|
||||
|
||||
|
||||
class TestEnableEditingTextProduct:
|
||||
class TestEnableEditingAssignedProduct:
|
||||
def test_run(self, drawing):
|
||||
drawing.enable_editing_text_product("obj").should_be_called()
|
||||
drawing.import_text_product("obj").should_be_called()
|
||||
subject.enable_editing_text_product(drawing, obj="obj")
|
||||
drawing.enable_editing_assigned_product("obj").should_be_called()
|
||||
drawing.import_assigned_product("obj").should_be_called()
|
||||
subject.enable_editing_assigned_product(drawing, obj="obj")
|
||||
|
||||
|
||||
class TestDisableEditingTextProduct:
|
||||
class TestDisableEditingAssignedProduct:
|
||||
def test_run(self, drawing):
|
||||
drawing.disable_editing_text_product("obj").should_be_called()
|
||||
subject.disable_editing_text_product(drawing, obj="obj")
|
||||
drawing.disable_editing_assigned_product("obj").should_be_called()
|
||||
subject.disable_editing_assigned_product(drawing, obj="obj")
|
||||
|
||||
|
||||
class TestEditTextProduct:
|
||||
class TestEditAssignedProduct:
|
||||
def test_run(self, ifc, drawing):
|
||||
ifc.get_entity("obj").should_be_called().will_return("element")
|
||||
drawing.get_text_product("element").should_be_called().will_return("existing_product")
|
||||
drawing.get_assigned_product("element").should_be_called().will_return("existing_product")
|
||||
ifc.run(
|
||||
"drawing.unassign_product", relating_product="existing_product", related_object="element"
|
||||
).should_be_called()
|
||||
ifc.run("drawing.assign_product", relating_product="product", related_object="element").should_be_called()
|
||||
drawing.update_text_value("obj").should_be_called()
|
||||
drawing.disable_editing_text_product("obj").should_be_called()
|
||||
subject.edit_text_product(ifc, drawing, obj="obj", product="product")
|
||||
drawing.disable_editing_assigned_product("obj").should_be_called()
|
||||
subject.edit_assigned_product(ifc, drawing, obj="obj", product="product")
|
||||
|
||||
|
||||
class TestLoadSheets:
|
||||
|
||||
@@ -109,12 +109,12 @@ class TestDisableEditingText(NewFile):
|
||||
assert obj.BIMTextProperties.is_editing == False
|
||||
|
||||
|
||||
class TestDisableEditingTextProduct(NewFile):
|
||||
class TestDisableEditingAssignedProduct(NewFile):
|
||||
def test_run(self):
|
||||
obj = bpy.data.objects.new("Object", None)
|
||||
obj.BIMTextProperties.is_editing_product = True
|
||||
subject.disable_editing_text_product(obj)
|
||||
assert obj.BIMTextProperties.is_editing_product == False
|
||||
obj.BIMAssignedProductProperties.is_editing_product = True
|
||||
subject.disable_editing_assigned_product(obj)
|
||||
assert obj.BIMAssignedProductProperties.is_editing_product == False
|
||||
|
||||
|
||||
class TestEnableEditing(NewFile):
|
||||
@@ -153,11 +153,11 @@ class TestEnableEditingText(NewFile):
|
||||
assert obj.BIMTextProperties.is_editing == True
|
||||
|
||||
|
||||
class TestEnableEditingTextProduct(NewFile):
|
||||
class TestEnableEditingAssignedProduct(NewFile):
|
||||
def test_run(self):
|
||||
obj = bpy.data.objects.new("Object", None)
|
||||
subject.enable_editing_text_product(obj)
|
||||
assert obj.BIMTextProperties.is_editing_product == True
|
||||
subject.enable_editing_assigned_product(obj)
|
||||
assert obj.BIMAssignedProductProperties.is_editing_product == True
|
||||
|
||||
|
||||
class TestEnsureUniqueDrawingName(NewFile):
|
||||
@@ -423,14 +423,14 @@ class TestGetTextLiteral(NewFile):
|
||||
assert subject.get_text_literal(obj) == item
|
||||
|
||||
|
||||
class TestGetTextProduct(NewFile):
|
||||
class TestGetAssignedProduct(NewFile):
|
||||
def test_run(self):
|
||||
ifc = ifcopenshell.file()
|
||||
tool.Ifc.set(ifc)
|
||||
wall = ifc.createIfcWall()
|
||||
label = ifc.createIfcAnnotation()
|
||||
ifcopenshell.api.run("drawing.assign_product", ifc, relating_product=wall, related_object=label)
|
||||
assert subject.get_text_product(label) == wall
|
||||
assert subject.get_assigned_product(label) == wall
|
||||
|
||||
|
||||
class TestImportDrawings(NewFile):
|
||||
@@ -514,7 +514,7 @@ class TestImportTextAttributes(NewFile):
|
||||
assert props.attributes.get("BoxAlignment").string_value == "BoxAlignment"
|
||||
|
||||
|
||||
class TestImportTextProduct(NewFile):
|
||||
class TestImportAssignedProduct(NewFile):
|
||||
def test_run(self):
|
||||
ifc = ifcopenshell.file()
|
||||
tool.Ifc.set(ifc)
|
||||
@@ -525,8 +525,8 @@ class TestImportTextProduct(NewFile):
|
||||
label_obj = bpy.data.objects.new("Object", None)
|
||||
tool.Ifc.link(wall, wall_obj)
|
||||
tool.Ifc.link(label, label_obj)
|
||||
subject.import_text_product(label_obj)
|
||||
assert label_obj.BIMTextProperties.relating_product == wall_obj
|
||||
subject.import_assigned_product(label_obj)
|
||||
assert label_obj.BIMAssignedProductProperties.relating_product == wall_obj
|
||||
|
||||
def test_doing_nothing_if_no_product_to_import(self):
|
||||
ifc = ifcopenshell.file()
|
||||
@@ -534,8 +534,8 @@ class TestImportTextProduct(NewFile):
|
||||
label = ifc.createIfcAnnotation()
|
||||
label_obj = bpy.data.objects.new("Object", None)
|
||||
tool.Ifc.link(label, label_obj)
|
||||
subject.import_text_product(label_obj)
|
||||
assert label_obj.BIMTextProperties.relating_product is None
|
||||
subject.import_assigned_product(label_obj)
|
||||
assert label_obj.BIMAssignedProductProperties.relating_product is None
|
||||
|
||||
|
||||
class TestOpenSchedule(NewFile):
|
||||
|
||||
Reference in New Issue
Block a user