diff --git a/tests/src/core/testqgsrasterlayer.cpp b/tests/src/core/testqgsrasterlayer.cpp index f5212f4e436..3ebac49d957 100644 --- a/tests/src/core/testqgsrasterlayer.cpp +++ b/tests/src/core/testqgsrasterlayer.cpp @@ -234,7 +234,6 @@ void TestQgsRasterLayer::pseudoColor() } void TestQgsRasterLayer::populateColorRampShader( QgsColorRampShader *colorRampShader, QgsColorRamp *colorRamp, int numberOfEntries ) - { // adapted from QgsSingleBandPseudoColorRendererWidget::on_mClassifyButton_clicked() // and TestQgsRasterLayer::pseudoColor() diff --git a/tests/src/python/test_qgsrasterlayer.py b/tests/src/python/test_qgsrasterlayer.py index a6fd3796565..1abae1ffcda 100644 --- a/tests/src/python/test_qgsrasterlayer.py +++ b/tests/src/python/test_qgsrasterlayer.py @@ -411,7 +411,6 @@ class TestQgsRasterLayer(QgisTestCase): self.assertIsInstance(layer.serverProperties(), QgsMapLayerServerProperties) def testQgsRasterMinMaxOrigin(self): - mmo = QgsRasterMinMaxOrigin() mmo_default = QgsRasterMinMaxOrigin() self.assertEqual(mmo, mmo_default) @@ -1272,6 +1271,53 @@ class TestQgsRasterLayer(QgisTestCase): ) self.assertEqual(rl.renderer().opacity(), 0.6) + def testRasterType(self): + """Test that raster type is correctly assigned/detected""" + # multiband + file_path = os.path.join( + unitTestDataPath(), "raster", "band3_byte_noct_epsg4326.tif" + ) + layer = QgsRasterLayer(file_path, "test_raster", "gdal") + self.assertTrue(layer.isValid()) + self.assertEqual(layer.bandCount(), 3) + self.assertEqual(layer.rasterType(), Qgis.RasterLayerType.Multiband) + + # singleband, gray + file_path = os.path.join( + unitTestDataPath(), "raster", "band1_byte_noct_epsg4326.tif" + ) + layer = QgsRasterLayer(file_path, "test_raster", "gdal") + self.assertTrue(layer.isValid()) + self.assertEqual(layer.bandCount(), 1) + self.assertEqual(layer.rasterType(), Qgis.RasterLayerType.GrayOrUndefined) + + # singleband, palette + file_path = os.path.join( + unitTestDataPath(), "raster", "band1_byte_ct_epsg4326.tif" + ) + layer = QgsRasterLayer(file_path, "test_raster", "gdal") + self.assertTrue(layer.isValid()) + self.assertEqual(layer.bandCount(), 1) + self.assertEqual(layer.rasterType(), Qgis.RasterLayerType.Palette) + + # gray with alpha + file_path = os.path.join( + unitTestDataPath(), "raster", "band1_byte_noct_alpha_epsg4326.tif" + ) + layer = QgsRasterLayer(file_path, "test_raster", "gdal") + self.assertTrue(layer.isValid()) + self.assertEqual(layer.bandCount(), 2) + self.assertEqual(layer.rasterType(), Qgis.RasterLayerType.GrayOrUndefined) + + # paletted with alpha + file_path = os.path.join( + unitTestDataPath(), "raster", "band1_byte_ct_alpha_epsg4326.tif" + ) + layer = QgsRasterLayer(file_path, "test_raster", "gdal") + self.assertTrue(layer.isValid()) + self.assertEqual(layer.bandCount(), 2) + self.assertEqual(layer.rasterType(), Qgis.RasterLayerType.Palette) + class TestQgsRasterLayerTransformContext(QgisTestCase): diff --git a/tests/testdata/raster/band1_byte_ct_alpha_epsg4326.tif b/tests/testdata/raster/band1_byte_ct_alpha_epsg4326.tif new file mode 100644 index 00000000000..a2b45ba3ba0 Binary files /dev/null and b/tests/testdata/raster/band1_byte_ct_alpha_epsg4326.tif differ diff --git a/tests/testdata/raster/band1_byte_noct_alpha_epsg4326.tif b/tests/testdata/raster/band1_byte_noct_alpha_epsg4326.tif new file mode 100644 index 00000000000..6ce4908977a Binary files /dev/null and b/tests/testdata/raster/band1_byte_noct_alpha_epsg4326.tif differ