2929from qgis .core import QgsApplication
3030
3131from processing .gui .AlgorithmDialog import AlgorithmDialog
32+ from processing .gui .BatchAlgorithmDialog import BatchAlgorithmDialog
33+ from processing .modeler .ModelerParametersDialog import ModelerParametersDialog
34+ from processing .gui .wrappers import *
3235
3336start_app ()
3437
@@ -41,5 +44,81 @@ def testCreation(self):
4144 self .assertEqual (a .mainWidget .alg , alg )
4245
4346
47+ class WrappersTest (unittest .TestCase ):
48+
49+ def checkConstructWrapper (self , param , expected_wrapper_class ):
50+ alg = QgsApplication .processingRegistry ().algorithmById ('native:centroids' )
51+
52+ # algorithm dialog
53+ dlg = AlgorithmDialog (alg )
54+ wrapper = WidgetWrapperFactory .create_wrapper_from_class (param , dlg )
55+ self .assertIsNotNone (wrapper )
56+ self .assertIsInstance (wrapper , expected_wrapper_class )
57+ self .assertEqual (wrapper .dialog , dlg )
58+ self .assertIsNotNone (wrapper .widget )
59+
60+ # batch dialog
61+ dlg = BatchAlgorithmDialog (alg )
62+ wrapper = WidgetWrapperFactory .create_wrapper_from_class (param , dlg )
63+ self .assertIsNotNone (wrapper )
64+ self .assertIsInstance (wrapper , expected_wrapper_class )
65+ self .assertEqual (wrapper .dialog , dlg )
66+ self .assertIsNotNone (wrapper .widget )
67+
68+ # modeler dialog
69+ model = QgsProcessingModelAlgorithm ()
70+ dlg = ModelerParametersDialog (alg , model )
71+ wrapper = WidgetWrapperFactory .create_wrapper_from_class (param , dlg )
72+ self .assertIsNotNone (wrapper )
73+ self .assertIsInstance (wrapper , expected_wrapper_class )
74+ self .assertEqual (wrapper .dialog , dlg )
75+ self .assertIsNotNone (wrapper .widget )
76+
77+ def testBoolean (self ):
78+ self .checkConstructWrapper (QgsProcessingParameterBoolean ('test' ), BooleanWidgetWrapper )
79+
80+ def testCrs (self ):
81+ self .checkConstructWrapper (QgsProcessingParameterCrs ('test' ), CrsWidgetWrapper )
82+
83+ def testExtent (self ):
84+ self .checkConstructWrapper (QgsProcessingParameterExtent ('test' ), ExtentWidgetWrapper )
85+
86+ def testPoint (self ):
87+ self .checkConstructWrapper (QgsProcessingParameterPoint ('test' ), PointWidgetWrapper )
88+
89+ def testFile (self ):
90+ self .checkConstructWrapper (QgsProcessingParameterFile ('test' ), FileWidgetWrapper )
91+
92+ def testMultiInput (self ):
93+ self .checkConstructWrapper (QgsProcessingParameterMultipleLayers ('test' ), MultipleInputWidgetWrapper )
94+
95+ def testRasterInput (self ):
96+ self .checkConstructWrapper (QgsProcessingParameterRasterLayer ('test' ), RasterWidgetWrapper )
97+
98+ def testEnum (self ):
99+ self .checkConstructWrapper (QgsProcessingParameterEnum ('test' ), SelectionWidgetWrapper )
100+
101+ def testString (self ):
102+ self .checkConstructWrapper (QgsProcessingParameterString ('test' ), StringWidgetWrapper )
103+
104+ def testExpression (self ):
105+ self .checkConstructWrapper (QgsProcessingParameterExpression ('test' ), ExpressionWidgetWrapper )
106+
107+ def testVector (self ):
108+ self .checkConstructWrapper (QgsProcessingParameterVectorLayer ('test' ), TableWidgetWrapper )
109+
110+ def testField (self ):
111+ self .checkConstructWrapper (QgsProcessingParameterField ('test' ), TableFieldWidgetWrapper )
112+
113+ def testSource (self ):
114+ self .checkConstructWrapper (QgsProcessingParameterFeatureSource ('test' ), VectorWidgetWrapper )
115+
116+ def testSource (self ):
117+ self .checkConstructWrapper (QgsProcessingParameterBand ('test' ), BandWidgetWrapper )
118+
119+ def testMapLayer (self ):
120+ self .checkConstructWrapper (QgsProcessingParameterMapLayer ('test' ), MapLayerWidgetWrapper )
121+
122+
44123if __name__ == '__main__' :
45124 unittest .main ()
0 commit comments