Add test for removing definitions from instance locations

When deserialize finds a definition in an instance container spot it should replace it with an empty container.

Contributes to issue CURA-3497.
This commit is contained in:
Ghostkeeper 2017-04-10 16:43:51 +02:00
parent a955c3dfdd
commit 00412e905f
No known key found for this signature in database
GPG key ID: C5F96EE2BC0F7E75

View file

@ -313,6 +313,17 @@ def test_deserializeRemovesWrongInstanceContainer(global_stack):
assert global_stack.quality == global_stack._empty_instance_container #Replaced with empty. assert global_stack.quality == global_stack._empty_instance_container #Replaced with empty.
## Tests whether a container with the wrong class gets removed when
# deserialising.
def test_deserializeRemovesWrongContainerClass(global_stack):
global_stack._containers[cura.Settings.CuraContainerStack._ContainerIndexes.Quality] = DefinitionContainer(container_id = "wrong class")
global_stack._containers[cura.Settings.CuraContainerStack._ContainerIndexes.Definition] = DefinitionContainer(container_id = "some definition")
with unittest.mock.patch("UM.Settings.ContainerStack.ContainerStack.deserialize", unittest.mock.MagicMock()): #Prevent calling super().deserialize.
global_stack.deserialize("")
assert global_stack.quality == global_stack._empty_instance_container #Replaced with empty.
## Tests whether the user changes are being read properly from a global stack. ## Tests whether the user changes are being read properly from a global stack.
@pytest.mark.skip @pytest.mark.skip
@pytest.mark.parametrize("filename, user_changes_id", [ @pytest.mark.parametrize("filename, user_changes_id", [