Add tests for deserialising extruders with material

Contributes to issue CURA-3497.
This commit is contained in:
Ghostkeeper 2017-03-24 17:17:41 +01:00
parent 9cb7c30fcb
commit bbd0ca7b9f
No known key found for this signature in database
GPG key ID: C5F96EE2BC0F7E75
3 changed files with 36 additions and 0 deletions

View file

@ -55,6 +55,27 @@ def test_addContainer(extruder_stack):
with pytest.raises(InvalidOperationError):
extruder_stack.addContainer(unittest.mock.MagicMock())
@pytest.mark.parametrize("filename, material_id", [
("Left.extruder.cfg", "some_instance"),
("ExtruderLegacy.stack.cfg", "some_instance"),
("OnlyMaterial.extruder.cfg", "some_instance"),
("OnlyDefinition.extruder.cfg", "empty"),
("Complete.extruder.cfg", "some_material")
])
def test_deserializeMaterial(filename, material_id, container_registry, extruder_stack):
serialized = readStack(filename)
#Mock the loading of the instance containers.
extruder_stack.findContainer = findSomeContainers
original_container_registry = UM.Settings.ContainerStack._containerRegistry
UM.Settings.ContainerStack._containerRegistry = container_registry #Always has all profiles you ask of.
extruder_stack.deserialize(serialized)
assert extruder_stack.material.getId() == material_id
#Restore.
UM.Settings.ContainerStack._containerRegistry = original_container_registry
@pytest.mark.parametrize("filename, quality_id", [
("Left.extruder.cfg", "empty"),
("ExtruderLegacy.stack.cfg", "empty"),