1from unittest.mock import MagicMock 2 3import pytest 4 5from UM.OutputDevice.OutputDevice import OutputDevice 6 7test_validate_data = [ 8 {"attribute": "IconName", "value": "blarg"}, 9 {"attribute": "ShortDescription", "value": "omg"}, 10 {"attribute": "Name", "value": "SHeWhoShallNotBeNamed"}, 11 {"attribute": "Description", "value": "OH NOES!"}, 12 {"attribute": "Priority", "value": 12} 13] 14 15 16def test_createOutputDevice(): 17 output_device = OutputDevice("Random_id") 18 assert output_device.getId() == "Random_id" 19 20 21@pytest.mark.parametrize("data", test_validate_data) 22def test_getAndSet(data): 23 output_device = OutputDevice("Random_id") 24 25 output_device.metaDataChanged = MagicMock() 26 # Attempt to set the value 27 getattr(output_device, "set" + data["attribute"])(data["value"]) 28 29 # Ensure that the value got set 30 assert getattr(output_device, "get" + data["attribute"])() == data["value"] 31 32 # Check if signal fired. 33 assert output_device.metaDataChanged.emit.call_count == 1 34 35 # Attempt to set the setter to the same value again. 36 getattr(output_device, "set" + data["attribute"])(data["value"]) 37 # Ensure signal fired only once! 38 assert output_device.metaDataChanged.emit.call_count == 1 39