diff --git a/tests/TestMachineAction.py b/tests/TestMachineAction.py index fe9b676d23..2c3e7e95a6 100644 --- a/tests/TestMachineAction.py +++ b/tests/TestMachineAction.py @@ -1 +1,37 @@ -#Todo: Write tests \ No newline at end of file +#Todo: Write tests + +import pytest + +from cura.MachineAction import MachineAction +from cura.MachineActionManager import MachineActionManager, NotUniqueMachineAction + +class Machine: + def __init__(self, key = ""): + self._key = key + + def getKey(self): + return self._key + + +def test_addMachineAction(): + + machine_manager = MachineActionManager() + + test_action = MachineAction(key = "test") + test_machine = Machine("test_machine") + machine_manager.addMachineAction(test_action) + + assert machine_manager.getMachineAction("test") == test_action + + # Adding the same machine action is not allowed. + with pytest.raises(NotUniqueMachineAction): + machine_manager.addMachineAction(test_action) + + # Check if adding a supported action works. + machine_manager.addSupportedAction(test_machine, "test") + assert machine_manager.getSupportedActions(test_machine) == {test_action} + + # Check that adding a unknown action doesn't change anything. + machine_manager.addSupportedAction(test_machine, "key_that_doesnt_exist") + assert machine_manager.getSupportedActions(test_machine) == {test_action} +