QGIS/python/plugins/processing/tests/ProcessingToolsTest.py

93 lines
3.0 KiB
Python

# -*- coding: utf-8 -*-
"""
***************************************************************************
ProcessingToolsTest.py
---------------------
Date : April 2013
Copyright : (C) 2013 by Victor Olaya
Email : volayaf 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. *
* *
***************************************************************************
"""
__author__ = 'Victor Olaya'
__date__ = 'April 2013'
__copyright__ = '(C) 2013, Victor Olaya'
# This will get replaced with a git SHA1 when you do a git archive
__revision__ = '$Format:%H$'
import unittest
import processing
from processing.core import Processing
from processing.tools.vector import values
from processing.tools.dataobjects import *
from processing.tests.TestData import points, points2, polygons, polygons2, \
lines, union, table, polygonsGeoJson, raster
class ProcessingToolsTest(unittest.TestCase):
'''Tests the method imported when doing an "import processing", and
also in processing.tools. They are mostly convenience tools.
'''
def test_getobject(self):
layer = processing.getObject(points())
self.assertIsNotNone(layer)
layer = processing.getObject('points')
self.assertIsNotNone(layer)
def test_runandload(self):
processing.runandload('qgis:countpointsinpolygon', polygons(),
points(), 'NUMPOINTS', None)
layer = getObjectFromName('Result')
self.assertIsNotNone(layer)
def test_featuresWithoutSelection(self):
layer = processing.getObject(points())
features = processing.features(layer)
self.assertEqual(12, len(features))
def test_featuresWithSelection(self):
layer = processing.getObject(points())
feature = layer.getFeatures().next()
selected = [feature.id()]
layer.setSelectedFeatures(selected)
features = processing.features(layer)
self.assertEqual(1, len(features))
layer.setSelectedFeatures([])
def test_attributeValues(self):
layer = processing.getObject(points())
attributeValues = values(layer, 'ID')
i = 1
for value in attributeValues['ID']:
self.assertEqual(int(i), int(value))
i += 1
self.assertEquals(13, i)
def test_extent(self):
pass
def suite():
suite = unittest.makeSuite(ProcessingToolsTest, 'test')
return suite
def runtests():
result = unittest.TestResult()
testsuite = suite()
testsuite.run(result)
return result