From df2ae12ca944349bf745ba7e3cda025ac63154cf Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 24 Mar 2017 17:21:47 +0100 Subject: [PATCH] Add tests for deserialising extruders with variants Contributes to issue CURA-3497. --- tests/Settings/TestExtruderStack.py | 20 +++++++++++++++++++ .../Settings/stacks/OnlyVariant.extruder.cfg | 8 ++++++++ 2 files changed, 28 insertions(+) create mode 100644 tests/Settings/stacks/OnlyVariant.extruder.cfg diff --git a/tests/Settings/TestExtruderStack.py b/tests/Settings/TestExtruderStack.py index 1d16823040..e7619f86cd 100644 --- a/tests/Settings/TestExtruderStack.py +++ b/tests/Settings/TestExtruderStack.py @@ -136,6 +136,26 @@ def test_deserializeUserChanges(filename, user_changes_id, container_registry, e #Restore. UM.Settings.ContainerStack._containerRegistry = original_container_registry +@pytest.mark.parametrize("filename, variant_id", [ + ("Left.extruder.cfg", "empty"), + ("ExtruderLegacy.stack.cfg", "empty"), + ("OnlyVariant.extruder.cfg", "some_instance"), + ("Complete.extruder.cfg", "some_variant") +]) +def test_deserializeVariant(filename, variant_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.variant.getId() == variant_id + + #Restore. + UM.Settings.ContainerStack._containerRegistry = original_container_registry + ## Tests whether inserting a container is properly forbidden. def test_insertContainer(extruder_stack): with pytest.raises(InvalidOperationError): diff --git a/tests/Settings/stacks/OnlyVariant.extruder.cfg b/tests/Settings/stacks/OnlyVariant.extruder.cfg new file mode 100644 index 0000000000..a31997a6fd --- /dev/null +++ b/tests/Settings/stacks/OnlyVariant.extruder.cfg @@ -0,0 +1,8 @@ +[general] +version = 3 +name = Only Variant +id = OnlyVariant + +[containers] +4 = some_instance +5 = some_definition