41
41
ParameterVector ,
42
42
ParameterTableField ,
43
43
ParameterSelection ,
44
- ParameterExpression )
44
+ ParameterExpression ,
45
+ getParameterFromString )
45
46
from processing .tools import dataobjects
46
47
from processing .tests .TestData import points2
47
48
@@ -96,6 +97,19 @@ def testOptional(self):
96
97
self .assertFalse (requiredParameter .setValue (None ))
97
98
self .assertEqual (requiredParameter .value , True )
98
99
100
+ def testScriptCode (self ):
101
+ parameter = ParameterBoolean ('myName' , 'myDescription' )
102
+ code = parameter .getAsScriptCode ()
103
+ result = getParameterFromString (code )
104
+ self .assertTrue (isinstance (result , ParameterBoolean ))
105
+ self .assertFalse (result .optional )
106
+
107
+ parameter .optional = True
108
+ code = parameter .getAsScriptCode ()
109
+ result = getParameterFromString (code )
110
+ self .assertTrue (isinstance (result , ParameterBoolean ))
111
+ self .assertTrue (result .optional )
112
+
99
113
100
114
class ParameterCRSTest (unittest .TestCase ):
101
115
@@ -119,6 +133,18 @@ def testOptional(self):
119
133
self .assertFalse (requiredParameter .setValue (None ))
120
134
self .assertEqual (requiredParameter .value , 'EPSG:12003' )
121
135
136
+ def testScriptCode (self ):
137
+ parameter = ParameterCrs ('myName' , 'myDescription' )
138
+ code = parameter .getAsScriptCode ()
139
+ result = getParameterFromString (code )
140
+ self .assertTrue (isinstance (result , ParameterCrs ))
141
+
142
+ parameter .optional = True
143
+ code = parameter .getAsScriptCode ()
144
+ result = getParameterFromString (code )
145
+ self .assertTrue (isinstance (result , ParameterCrs ))
146
+ self .assertTrue (result .optional )
147
+
122
148
123
149
class ParameterDataObjectTest (unittest .TestCase ):
124
150
@@ -161,6 +187,18 @@ def testOptional(self):
161
187
self .assertFalse (requiredParameter .setValue (None ))
162
188
self .assertEqual (requiredParameter .value , '1,2,3,4' )
163
189
190
+ def testScriptCode (self ):
191
+ parameter = ParameterExtent ('myName' , 'myDescription' )
192
+ code = parameter .getAsScriptCode ()
193
+ result = getParameterFromString (code )
194
+ self .assertTrue (isinstance (result , ParameterExtent ))
195
+
196
+ parameter .optional = True
197
+ code = parameter .getAsScriptCode ()
198
+ result = getParameterFromString (code )
199
+ self .assertTrue (isinstance (result , ParameterExtent ))
200
+ self .assertTrue (result .optional )
201
+
164
202
165
203
class ParameterPointTest (unittest .TestCase ):
166
204
@@ -191,6 +229,18 @@ def testOptional(self):
191
229
self .assertFalse (requiredParameter .setValue (None ))
192
230
self .assertEqual (requiredParameter .value , '1,2' )
193
231
232
+ def testScriptCode (self ):
233
+ parameter = ParameterPoint ('myName' , 'myDescription' )
234
+ code = parameter .getAsScriptCode ()
235
+ result = getParameterFromString (code )
236
+ self .assertTrue (isinstance (result , ParameterPoint ))
237
+
238
+ parameter .optional = True
239
+ code = parameter .getAsScriptCode ()
240
+ result = getParameterFromString (code )
241
+ self .assertTrue (isinstance (result , ParameterPoint ))
242
+ self .assertTrue (result .optional )
243
+
194
244
195
245
class ParameterSelectionTest (unittest .TestCase ):
196
246
@@ -283,6 +333,18 @@ def testGetValueAsCommandLineParameter(self):
283
333
parameter .setValue ('myFile.png' )
284
334
self .assertEqual (parameter .getValueAsCommandLineParameter (), '"myFile.png"' )
285
335
336
+ def testScriptCode (self ):
337
+ parameter = ParameterFile ('myName' , 'myDescription' )
338
+ code = parameter .getAsScriptCode ()
339
+ result = getParameterFromString (code )
340
+ self .assertTrue (isinstance (result , ParameterFile ))
341
+
342
+ parameter .optional = True
343
+ code = parameter .getAsScriptCode ()
344
+ result = getParameterFromString (code )
345
+ self .assertTrue (isinstance (result , ParameterFile ))
346
+ self .assertTrue (result .optional )
347
+
286
348
287
349
class TestParameterFixedTable (unittest .TestCase ):
288
350
@@ -393,6 +455,18 @@ def testGetAsStringWhenVector(self):
393
455
394
456
# TODO With Layer Name, instead of Layer object
395
457
458
+ def testScriptCode (self ):
459
+ parameter = ParameterMultipleInput ('myName' , 'myDescription' )
460
+ code = parameter .getAsScriptCode ()
461
+ result = getParameterFromString (code )
462
+ self .assertTrue (isinstance (result , ParameterMultipleInput ))
463
+
464
+ parameter .optional = True
465
+ code = parameter .getAsScriptCode ()
466
+ result = getParameterFromString (code )
467
+ self .assertTrue (isinstance (result , ParameterMultipleInput ))
468
+ self .assertTrue (result .optional )
469
+
396
470
397
471
class ParameterNumberTest (unittest .TestCase ):
398
472
@@ -447,6 +521,18 @@ def testOptional(self):
447
521
self .assertFalse (requiredParameter .setValue (None ))
448
522
self .assertEqual (requiredParameter .value , 5 )
449
523
524
+ def testScriptCode (self ):
525
+ parameter = ParameterNumber ('myName' , 'myDescription' )
526
+ code = parameter .getAsScriptCode ()
527
+ result = getParameterFromString (code )
528
+ self .assertTrue (isinstance (result , ParameterNumber ))
529
+
530
+ parameter .optional = True
531
+ code = parameter .getAsScriptCode ()
532
+ result = getParameterFromString (code )
533
+ self .assertTrue (isinstance (result , ParameterNumber ))
534
+ self .assertTrue (result .optional )
535
+
450
536
451
537
class ParameterStringTest (unittest .TestCase ):
452
538
@@ -470,6 +556,18 @@ def testOptional(self):
470
556
self .assertFalse (requiredParameter .setValue (None ))
471
557
self .assertEqual (requiredParameter .value , 'check' )
472
558
559
+ def testScriptCode (self ):
560
+ parameter = ParameterString ('myName' , 'myDescription' , default = 'test' )
561
+ code = parameter .getAsScriptCode ()
562
+ result = getParameterFromString (code )
563
+ self .assertTrue (isinstance (result , ParameterString ))
564
+
565
+ parameter .optional = True
566
+ code = parameter .getAsScriptCode ()
567
+ result = getParameterFromString (code )
568
+ self .assertTrue (isinstance (result , ParameterString ))
569
+ self .assertTrue (result .optional )
570
+
473
571
474
572
class ParameterExpressionTest (unittest .TestCase ):
475
573
@@ -493,6 +591,18 @@ def testOptional(self):
493
591
self .assertFalse (requiredParameter .setValue (None ))
494
592
self .assertEqual (requiredParameter .value , 'check' )
495
593
594
+ def testScriptCode (self ):
595
+ parameter = ParameterExpression ('myName' , 'myDescription' , default = 'test' )
596
+ code = parameter .getAsScriptCode ()
597
+ result = getParameterFromString (code )
598
+ self .assertTrue (isinstance (result , ParameterExpression ))
599
+
600
+ parameter .optional = True
601
+ code = parameter .getAsScriptCode ()
602
+ result = getParameterFromString (code )
603
+ self .assertTrue (isinstance (result , ParameterExpression ))
604
+ self .assertTrue (result .optional )
605
+
496
606
497
607
class ParameterTableFieldTest (unittest .TestCase ):
498
608
@@ -505,6 +615,21 @@ def testOptional(self):
505
615
parameter = ParameterTableField (
506
616
'myName' , 'myDesc' , parent_name , optional = True )
507
617
618
+ def testScriptCode (self ):
619
+ parent_name = 'test_parent_layer'
620
+ test_data = points2 ()
621
+ test_layer = QgsVectorLayer (test_data , parent_name , 'ogr' )
622
+ parameter = ParameterTableField (
623
+ 'myName' , 'myDesc' , parent_name )
624
+ code = parameter .getAsScriptCode ()
625
+ result = getParameterFromString (code )
626
+ self .assertTrue (isinstance (result , ParameterTableField ))
627
+
628
+ parameter .optional = True
629
+ code = parameter .getAsScriptCode ()
630
+ result = getParameterFromString (code )
631
+ self .assertTrue (isinstance (result , ParameterTableField ))
632
+ self .assertTrue (result .optional )
508
633
509
634
if __name__ == '__main__' :
510
635
unittest .main ()
0 commit comments