def updateConfigurationModel( self, model: ExtruderConfigurationModel) -> ExtruderConfigurationModel: model.setHotendID(self.print_core_id) if self.material: model.setMaterial(self.material.createOutputModel()) return model
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_uniqueConfigurations_empty_is_filtered_out(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() printer.updateType("blarg!") empty_material = MaterialOutputModel(guid = "", type = "empty", color = "empty", brand = "Generic", name = "Empty") empty_left_extruder = ExtruderConfigurationModel(0) empty_left_extruder.setMaterial(empty_material) empty_right_extruder = ExtruderConfigurationModel(1) empty_right_extruder.setMaterial(empty_material) printer.printerConfiguration.setExtruderConfigurations([empty_left_extruder, empty_right_extruder]) assert printer_output_device.uniqueConfigurations == []
def updateConfigurationModel(self, model: ExtruderConfigurationModel) -> ExtruderConfigurationModel: model.setHotendID(self.print_core_id) if self.material: model.setMaterial(self.material.createOutputModel()) return model