Add test for parentQuantityName

This commit is contained in:
Nyall Dawson 2024-05-13 11:43:24 +10:00
parent 9253b6c876
commit f2b84709fa
4 changed files with 82 additions and 0 deletions

View File

@ -305,6 +305,19 @@ class QgisTestCase(unittest.TestCase):
return result
@staticmethod
def get_test_data_path(file_path: str) -> Path:
"""
Returns the full path to a file contained within the test data
directory.
"""
from utilities import unitTestDataPath
return (
Path(unitTestDataPath()) /
(file_path[1:] if file_path.startswith('/') else file_path)
)
def assertLayersEqual(self, layer_expected, layer_result, **kwargs):
"""
:param layer_expected: The first layer to compare

View File

@ -177,6 +177,7 @@ ADD_PYTHON_TEST(PyQgsMargins test_qgsmargins.py)
ADD_PYTHON_TEST(PyQgsMarkerLineSymbolLayer test_qgsmarkerlinesymbollayer.py)
ADD_PYTHON_TEST(PyQgsMatrix4x4 test_qgsmatrix4x4.py)
ADD_PYTHON_TEST(PyQgsMergedFeatureRenderer test_qgsmergedfeaturerenderer.py)
ADD_PYTHON_TEST(PyQgsMeshLayer test_qgsmeshlayer.py)
ADD_PYTHON_TEST(PyQgsMeshLayerElevationProperties test_qgsmeshlayerelevationproperties.py)
ADD_PYTHON_TEST(PyQgsMeshLayerRenderer test_qgsmeshlayerrenderer.py)
ADD_PYTHON_TEST(PyQgsMessageLog test_qgsmessagelog.py)

View File

@ -0,0 +1,68 @@
"""QGIS Unit tests for QgsMeshLayer
.. 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.
"""
from qgis.core import (
QgsMeshLayer,
QgsMeshDatasetIndex
)
import unittest
from qgis.testing import start_app, QgisTestCase
start_app()
class TestQgsMeshLayer(QgisTestCase):
def test_dataset_group_metadata(self):
"""
Test datasetGroupMetadata
"""
layer = QgsMeshLayer(
self.get_test_data_path('mesh/netcdf_parent_quantity.nc').as_posix(),
'mesh',
'mdal'
)
self.assertTrue(layer.isValid())
self.assertEqual(
layer.datasetGroupMetadata(QgsMeshDatasetIndex(0)).name(),
'air_temperature_height:10')
self.assertEqual(
layer.datasetGroupMetadata(
QgsMeshDatasetIndex(0)).parentQuantityName(),
'air_temperature_height')
self.assertEqual(
layer.datasetGroupMetadata(QgsMeshDatasetIndex(1)).name(),
'air_temperature_height:20')
self.assertEqual(
layer.datasetGroupMetadata(
QgsMeshDatasetIndex(1)).parentQuantityName(),
'air_temperature_height')
self.assertEqual(
layer.datasetGroupMetadata(QgsMeshDatasetIndex(2)).name(),
'air_temperature_height:30')
self.assertEqual(
layer.datasetGroupMetadata(
QgsMeshDatasetIndex(2)).parentQuantityName(),
'air_temperature_height')
self.assertEqual(
layer.datasetGroupMetadata(QgsMeshDatasetIndex(3)).name(),
'air_temperature_height:5')
self.assertEqual(
layer.datasetGroupMetadata(
QgsMeshDatasetIndex(3)).parentQuantityName(),
'air_temperature_height')
self.assertFalse(
layer.datasetGroupMetadata(QgsMeshDatasetIndex(4)).name())
self.assertFalse(
layer.datasetGroupMetadata(
QgsMeshDatasetIndex(4)).parentQuantityName())
if __name__ == '__main__':
unittest.main()

Binary file not shown.