def test_uniqueConfigurations(printer_output_device): printer = PrinterOutputModel(MagicMock()) # Add a printer and fire the signal that ensures they get hooked up correctly. printer_output_device._printers = [printer] printer_output_device._onPrintersChanged() assert printer_output_device.uniqueConfigurations == [] configuration = PrinterConfigurationModel() printer.addAvailableConfiguration(configuration) assert printer_output_device.uniqueConfigurations == [configuration] # Once the type of printer is set, it's active configuration counts as being set. # In that case, that should also be added to the list of available configurations printer.updateType("blarg!") loaded_material = MaterialOutputModel(guid="", type="PLA", color="Blue", brand="Generic", name="Blue PLA") loaded_left_extruder = ExtruderConfigurationModel(0) loaded_left_extruder.setMaterial(loaded_material) loaded_right_extruder = ExtruderConfigurationModel(1) loaded_right_extruder.setMaterial(loaded_material) printer.printerConfiguration.setExtruderConfigurations( [loaded_left_extruder, loaded_right_extruder]) assert printer_output_device.uniqueConfigurations == [ configuration, printer.printerConfiguration ]
def test_availableConfigurations_addConfiguration(): model = PrinterOutputModel(MagicMock()) configuration = MagicMock(spec=PrinterConfigurationModel) model.addAvailableConfiguration(configuration) assert model.availableConfigurations == [configuration]
def test_availableConfigurations_addConfigTwice(): model = PrinterOutputModel(MagicMock()) configuration = MagicMock(spec=PrinterConfigurationModel) model.setAvailableConfigurations([configuration]) assert model.availableConfigurations == [configuration] # Adding it again should not have any effect model.addAvailableConfiguration(configuration) assert model.availableConfigurations == [configuration]