Add tests for _renameNodes function

CURA-6283
This commit is contained in:
Jaime van Kessel 2019-05-24 14:59:35 +02:00
parent d1f6ac47f3
commit 6cc8b8c184

View file

@ -6,7 +6,7 @@ from UM.Scene.GroupDecorator import GroupDecorator
from UM.Scene.SceneNode import SceneNode from UM.Scene.SceneNode import SceneNode
from cura.Scene.BuildPlateDecorator import BuildPlateDecorator from cura.Scene.BuildPlateDecorator import BuildPlateDecorator
from cura.Scene.SliceableObjectDecorator import SliceableObjectDecorator from cura.Scene.SliceableObjectDecorator import SliceableObjectDecorator
from cura.UI.ObjectsModel import ObjectsModel from cura.UI.ObjectsModel import ObjectsModel, _NodeInfo
@pytest.fixture() @pytest.fixture()
@ -76,3 +76,36 @@ class Test_shouldNodeBeHandled:
with patch("UM.Application.Application.getInstance", MagicMock(return_value=application)): with patch("UM.Application.Application.getInstance", MagicMock(return_value=application)):
# A slicable node with the same buildplate number should be handled. # A slicable node with the same buildplate number should be handled.
assert objects_model._shouldNodeBeHandled(slicable_scene_node) assert objects_model._shouldNodeBeHandled(slicable_scene_node)
class Test_renameNodes:
def test_emptyDict(self, objects_model):
assert objects_model._renameNodes({}) == []
def test_singleItemNoRename(self, objects_model):
node = SceneNode()
assert objects_model._renameNodes({"zomg": _NodeInfo(index_to_node={1: node})}) == [node]
def test_singleItemRename(self, objects_model):
node = SceneNode()
result = objects_model._renameNodes({"zomg": _NodeInfo(nodes_to_rename=[node])})
assert result == [node]
assert node.getName() == "zomg(1)"
def test_singleItemRenameWithIndex(self, objects_model):
node = SceneNode()
objects_model._renameNodes({"zomg": _NodeInfo(index_to_node = {1: node}, nodes_to_rename=[node])})
assert node.getName() == "zomg(2)"
def test_multipleItemsRename(self, objects_model):
node1 = SceneNode()
node2 = SceneNode()
result = objects_model._renameNodes({"zomg": _NodeInfo(nodes_to_rename=[node1, node2])})
assert result == [node1, node2]
assert node1.getName() == "zomg(1)"
assert node2.getName() == "zomg(2)"
def test_renameGroup(self, objects_model, group_scene_node):
result = objects_model._renameNodes({"zomg": _NodeInfo(nodes_to_rename=[group_scene_node], is_group=True)})
assert result == [group_scene_node]
assert group_scene_node.getName() == "zomg#1"