mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-10 00:04:23 -04:00
103 lines
3.5 KiB
Python
103 lines
3.5 KiB
Python
"""
|
|
***************************************************************************
|
|
ModelerTest
|
|
---------------------
|
|
Date : November 2016
|
|
Copyright : (C) 2016 by Nyall Dawson
|
|
Email : nyall dot dawson at gmail dot com
|
|
***************************************************************************
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************8
|
|
"""
|
|
|
|
__author__ = "Nyall Dawson"
|
|
__date__ = "November 2016"
|
|
__copyright__ = "(C) 2016, Nyall Dawson"
|
|
|
|
import unittest
|
|
from qgis.testing import start_app, QgisTestCase
|
|
|
|
from qgis.core import (
|
|
QgsProcessingModelAlgorithm,
|
|
QgsProcessingModelParameter,
|
|
QgsProcessingParameterString,
|
|
QgsProcessingParameterNumber,
|
|
QgsProcessingParameterDistance,
|
|
QgsProcessingParameterField,
|
|
QgsProcessingParameterFile,
|
|
)
|
|
from processing.modeler.ModelerParametersDialog import ModelerParametersDialog
|
|
|
|
start_app()
|
|
|
|
|
|
class ModelerTest(QgisTestCase):
|
|
|
|
def testModelerParametersDialogAvailableValuesOfType(self):
|
|
# test getAvailableValuesOfType from ModelerParametersDialog
|
|
|
|
m = QgsProcessingModelAlgorithm()
|
|
|
|
string_param_1 = QgsProcessingModelParameter("string")
|
|
m.addModelParameter(QgsProcessingParameterString("string"), string_param_1)
|
|
|
|
string_param_2 = QgsProcessingModelParameter("string2")
|
|
m.addModelParameter(QgsProcessingParameterString("string2"), string_param_2)
|
|
|
|
num_param = QgsProcessingModelParameter("number")
|
|
m.addModelParameter(QgsProcessingParameterNumber("number"), num_param)
|
|
|
|
table_field_param = QgsProcessingModelParameter("field")
|
|
m.addModelParameter(QgsProcessingParameterField("field"), table_field_param)
|
|
|
|
file_param = QgsProcessingModelParameter("file")
|
|
m.addModelParameter(QgsProcessingParameterFile("file"), file_param)
|
|
|
|
dlg = ModelerParametersDialog(m, m)
|
|
# test single types
|
|
self.assertEqual(
|
|
{
|
|
p.parameterName()
|
|
for p in dlg.getAvailableValuesOfType(QgsProcessingParameterNumber)
|
|
},
|
|
{"number"},
|
|
)
|
|
self.assertEqual(
|
|
{
|
|
p.parameterName()
|
|
for p in dlg.getAvailableValuesOfType(QgsProcessingParameterField)
|
|
},
|
|
{"field"},
|
|
)
|
|
self.assertEqual(
|
|
{
|
|
p.parameterName()
|
|
for p in dlg.getAvailableValuesOfType(QgsProcessingParameterFile)
|
|
},
|
|
{"file"},
|
|
)
|
|
|
|
# test multiple types
|
|
self.assertEqual(
|
|
{
|
|
p.parameterName()
|
|
for p in dlg.getAvailableValuesOfType(
|
|
[
|
|
QgsProcessingParameterString,
|
|
QgsProcessingParameterNumber,
|
|
QgsProcessingParameterFile,
|
|
]
|
|
)
|
|
},
|
|
{"string", "string2", "number", "file"},
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|