123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- from unittest.mock import MagicMock
- import pytest
- from cura.PrinterOutput.Models.PrinterConfigurationModel import PrinterConfigurationModel
- from cura.PrinterOutput.Models.ExtruderConfigurationModel import ExtruderConfigurationModel
- test_validate_data_get_set = [
- {"attribute": "extruderConfigurations", "value": [ExtruderConfigurationModel()]},
- {"attribute": "buildplateConfiguration", "value": "BHDHAHHADAD"},
- {"attribute": "printerType", "value": ":(", "check_signal": False},
- ]
- @pytest.mark.parametrize("data", test_validate_data_get_set)
- def test_getAndSet(data):
- model = PrinterConfigurationModel()
- # Convert the first letter into a capital
- attribute = list(data["attribute"])
- attribute[0] = attribute[0].capitalize()
- attribute = "".join(attribute)
- # mock the correct emit
- model.configurationChanged = MagicMock()
- signal = model.configurationChanged
- # Attempt to set the value
- getattr(model, "set" + attribute)(data["value"])
- # Check if signal fired.
- if data.get("check_signal", True):
- assert signal.emit.call_count == 1
- # Ensure that the value got set
- assert getattr(model, data["attribute"]) == data["value"]
- # Attempt to set the value again
- getattr(model, "set" + attribute)(data["value"])
- # The signal should not fire again
- if data.get("check_signal", True):
- assert signal.emit.call_count == 1
|