61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
# coding=utf-8
|
|
"""Tests for QGIS functionality.
|
|
|
|
|
|
.. note:: 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__ = 'tim@linfiniti.com'
|
|
__date__ = '20/01/2011'
|
|
__copyright__ = ('Copyright 2012, Australia Indonesia Facility for '
|
|
'Disaster Reduction')
|
|
|
|
import os
|
|
import unittest
|
|
from qgis.core import (
|
|
QgsProviderRegistry,
|
|
QgsCoordinateReferenceSystem,
|
|
QgsRasterLayer)
|
|
|
|
from .utilities import get_qgis_app
|
|
QGIS_APP = get_qgis_app()
|
|
|
|
|
|
class QGISTest(unittest.TestCase):
|
|
"""Test the QGIS Environment"""
|
|
|
|
def test_qgis_environment(self):
|
|
"""QGIS environment has the expected providers"""
|
|
|
|
r = QgsProviderRegistry.instance()
|
|
self.assertIn('gdal', r.providerList())
|
|
self.assertIn('ogr', r.providerList())
|
|
self.assertIn('postgres', r.providerList())
|
|
|
|
def test_projection(self):
|
|
"""Test that QGIS properly parses a wkt string.
|
|
"""
|
|
crs = QgsCoordinateReferenceSystem()
|
|
wkt = (
|
|
'GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",'
|
|
'SPHEROID["WGS_1984",6378137.0,298.257223563]],'
|
|
'PRIMEM["Greenwich",0.0],UNIT["Degree",'
|
|
'0.0174532925199433]]')
|
|
crs.createFromWkt(wkt)
|
|
auth_id = crs.authid()
|
|
expected_auth_id = 'EPSG:4326'
|
|
self.assertEqual(auth_id, expected_auth_id)
|
|
|
|
# now test for a loaded layer
|
|
path = os.path.join(os.path.dirname(__file__), 'tenbytenraster.asc')
|
|
title = 'TestRaster'
|
|
layer = QgsRasterLayer(path, title)
|
|
auth_id = layer.crs().authid()
|
|
self.assertEqual(auth_id, expected_auth_id)
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|