From 8f5cc7a02dad924b6d0c9f4c12f92b87a52cb456 Mon Sep 17 00:00:00 2001 From: Juan Pablo Caram Date: Wed, 28 Oct 2015 12:00:56 -0400 Subject: [PATCH] Option to override user's defaults. Needed for unit testing. --- FlatCAMApp.py | 19 +++++++++++++------ FlatCAMDraw.py | 19 ++++++++++++++----- FlatCAMObj.py | 22 +++++++++++++++------- FlatCAMProcess.py | 3 ++- GUIElements.py | 3 ++- camlib.py | 6 ++++-- 6 files changed, 50 insertions(+), 22 deletions(-) diff --git a/FlatCAMApp.py b/FlatCAMApp.py index 229f2234..559b0a47 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -1728,7 +1728,9 @@ class App(QtCore.QObject): :type app_obj_: App """ - assert isinstance(app_obj_, App) + assert isinstance(app_obj_, App), \ + "Initializer expected App, got %s" % type(app_obj_) + self.progress.emit(10) try: @@ -2151,7 +2153,8 @@ class App(QtCore.QObject): # Object initialization function for app.new_object() def job_init(job_obj, app_obj): - assert isinstance(job_obj, FlatCAMCNCjob) + assert isinstance(job_obj, FlatCAMCNCjob), \ + "Initializer expected FlatCAMCNCjob, got %s" % type(job_obj) job_obj.z_cut = kwa["drillz"] job_obj.z_move = kwa["travelz"] @@ -2196,7 +2199,8 @@ class App(QtCore.QObject): if obj is None: return "Object not found: %s" % name - assert isinstance(obj, FlatCAMExcellon) + assert isinstance(obj, FlatCAMExcellon), \ + "Expected a FlatCAMExcellon object, got %s" % type(obj) try: success, msg = obj.generate_milling(**kwa) @@ -2225,7 +2229,8 @@ class App(QtCore.QObject): if obj is None: return "Object not found: %s" % obj_name - assert isinstance(obj, Geometry) + assert isinstance(obj, Geometry), \ + "Expected a Geometry, got %s" % type(obj) obj_exteriors = obj.get_exteriors() @@ -2261,7 +2266,8 @@ class App(QtCore.QObject): if obj is None: return "Object not found: %s" % obj_name - assert isinstance(obj, Geometry) + assert isinstance(obj, Geometry), \ + "Expected a Geometry, got %s" % type(obj) obj_interiors = obj.get_interiors() @@ -2301,7 +2307,8 @@ class App(QtCore.QObject): if obj is None: return "Object not found: %s" % name - assert isinstance(obj, FlatCAMGerber) + assert isinstance(obj, FlatCAMGerber), \ + "Expected a FlatCAMGerber, got %s" % type(obj) try: obj.isolate(**kwa) diff --git a/FlatCAMDraw.py b/FlatCAMDraw.py index 8f832a44..659506e9 100644 --- a/FlatCAMDraw.py +++ b/FlatCAMDraw.py @@ -574,7 +574,9 @@ class FCCopy(FCMove): ######################## class FlatCAMDraw(QtCore.QObject): def __init__(self, app, disabled=False): - assert isinstance(app, FlatCAMApp.App) + assert isinstance(app, FlatCAMApp.App), \ + "Expected the app to be a FlatCAMApp.App, got %s" % type(app) + super(FlatCAMDraw, self).__init__() self.app = app @@ -767,9 +769,15 @@ class FlatCAMDraw(QtCore.QObject): self.add_shape(subshape) return - assert isinstance(shape, DrawToolShape) - assert shape.geo is not None - assert (isinstance(shape.geo, list) and len(shape.geo) > 0) or not isinstance(shape.geo, list) + assert isinstance(shape, DrawToolShape), \ + "Expected a DrawToolShape, got %s" % type(shape) + + assert shape.geo is not None, \ + "Shape object has empty geometry (None)" + + assert (isinstance(shape.geo, list) and len(shape.geo) > 0) or \ + not isinstance(shape.geo, list), \ + "Shape objects has empty geometry ([])" if isinstance(shape, DrawToolUtilityShape): self.utility.append(shape) @@ -825,7 +833,8 @@ class FlatCAMDraw(QtCore.QObject): :param fcgeometry: FlatCAMGeometry :return: None """ - assert isinstance(fcgeometry, Geometry) + assert isinstance(fcgeometry, Geometry), \ + "Expected a Geometry, got %s" % type(fcgeometry) self.deactivate() diff --git a/FlatCAMObj.py b/FlatCAMObj.py index 8df030a9..34cf0079 100644 --- a/FlatCAMObj.py +++ b/FlatCAMObj.py @@ -670,7 +670,8 @@ class FlatCAMExcellon(FlatCAMObj, Excellon): "spindlespeed": self.ui.spindlespeed_entry }) - assert isinstance(self.ui, ExcellonObjectUI) + assert isinstance(self.ui, ExcellonObjectUI), \ + "Expected a ExcellonObjectUI, got %s" % type(self.ui) self.ui.plot_cb.stateChanged.connect(self.on_plot_cb_click) self.ui.solid_cb.stateChanged.connect(self.on_solid_cb_click) self.ui.generate_cnc_button.clicked.connect(self.on_create_cncjob_button_click) @@ -718,7 +719,8 @@ class FlatCAMExcellon(FlatCAMObj, Excellon): return False, "Error: Milling tool is larger than hole." def geo_init(geo_obj, app_obj): - assert isinstance(geo_obj, FlatCAMGeometry) + assert isinstance(geo_obj, FlatCAMGeometry), \ + "Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj) app_obj.progress.emit(20) geo_obj.solid_geometry = [] @@ -763,7 +765,8 @@ class FlatCAMExcellon(FlatCAMObj, Excellon): # Object initialization function for app.new_object() def job_init(job_obj, app_obj): - assert isinstance(job_obj, FlatCAMCNCjob) + assert isinstance(job_obj, FlatCAMCNCjob), \ + "Initializer expected a FlatCAMCNCjob, got %s" % type(job_obj) app_obj.progress.emit(20) job_obj.z_cut = self.options["drillz"] @@ -888,7 +891,8 @@ class FlatCAMCNCjob(FlatCAMObj, CNCjob): FlatCAMApp.App.log.debug("FlatCAMCNCJob.set_ui()") - assert isinstance(self.ui, CNCObjectUI) + assert isinstance(self.ui, CNCObjectUI), \ + "Expected a CNCObjectUI, got %s" % type(self.ui) self.form_fields.update({ "plot": self.ui.plot_cb, @@ -1027,7 +1031,8 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): FlatCAMApp.App.log.debug("FlatCAMGeometry.set_ui()") - assert isinstance(self.ui, GeometryObjectUI) + assert isinstance(self.ui, GeometryObjectUI), \ + "Expected a GeometryObjectUI, got %s" % type(self.ui) self.form_fields.update({ "plot": self.ui.plot_cb, @@ -1084,7 +1089,8 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): # Initializes the new geometry object def gen_paintarea(geo_obj, app_obj): - assert isinstance(geo_obj, FlatCAMGeometry) + assert isinstance(geo_obj, FlatCAMGeometry), \ + "Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj) #assert isinstance(app_obj, App) if self.options["paintmethod"] == "seed": @@ -1156,7 +1162,9 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): # Object initialization function for app.new_object() # RUNNING ON SEPARATE THREAD! def job_init(job_obj, app_obj): - assert isinstance(job_obj, FlatCAMCNCjob) + assert isinstance(job_obj, FlatCAMCNCjob), \ + "Initializer expected a FlatCAMCNCjob, got %s" % type(job_obj) + # Propagate options job_obj.options["tooldia"] = tooldia diff --git a/FlatCAMProcess.py b/FlatCAMProcess.py index afbec102..db65602e 100644 --- a/FlatCAMProcess.py +++ b/FlatCAMProcess.py @@ -115,7 +115,8 @@ class FCVisibleProcessContainer(QtCore.QObject, FCProcessContainer): something_changed = QtCore.pyqtSignal() def __init__(self, view): - assert isinstance(view, FlatCAMActivityView) + assert isinstance(view, FlatCAMActivityView), \ + "Expected a FlatCAMActivityView, got %s" % type(view) FCProcessContainer.__init__(self) QtCore.QObject.__init__(self) diff --git a/GUIElements.py b/GUIElements.py index fef19ee4..79171a96 100644 --- a/GUIElements.py +++ b/GUIElements.py @@ -249,7 +249,8 @@ class VerticalScrollArea(QtGui.QScrollArea): class OptionalInputSection(): def __init__(self, cb, optinputs): - assert isinstance(cb, FCCheckBox) + assert isinstance(cb, FCCheckBox), \ + "Expected an FCCheckBox, got %s" % type(cb) self.cb = cb self.optinputs = optinputs diff --git a/camlib.py b/camlib.py index b0c51166..0a45eccf 100644 --- a/camlib.py +++ b/camlib.py @@ -379,7 +379,8 @@ class Geometry(object): """ log.debug("camlib.clear_polygon()") - assert type(polygon) == Polygon or type(polygon) == MultiPolygon + assert type(polygon) == Polygon or type(polygon) == MultiPolygon, \ + "Expected a Polygon or MultiPolygon, got %s" % type(polygon) ## The toolpaths # Index first and last points in paths @@ -2717,7 +2718,8 @@ class CNCjob(Geometry): :param tolerance: :return: None """ - assert isinstance(geometry, Geometry) + assert isinstance(geometry, Geometry), \ + "Expected a Geometry, got %s" % type(geometry) log.debug("generate_from_geometry_2()") ## Flatten the geometry