From 2a92ab0638bca833f7556ee78536fea8ec123e71 Mon Sep 17 00:00:00 2001 From: Artem Pavlenko Date: Wed, 1 Feb 2023 16:07:19 +0000 Subject: [PATCH] Unit tests - 'pytest` [WIP] --- test/python_tests/mapnik_logger_test.py | 21 +++----- test/python_tests/memory_datasource_test.py | 19 ++----- test/python_tests/multi_tile_raster_test.py | 53 +++++++------------- test/python_tests/my.pdf | Bin 7050 -> 0 bytes 4 files changed, 28 insertions(+), 65 deletions(-) delete mode 100644 test/python_tests/my.pdf diff --git a/test/python_tests/mapnik_logger_test.py b/test/python_tests/mapnik_logger_test.py index 8c6c5437a..7d7566890 100644 --- a/test/python_tests/mapnik_logger_test.py +++ b/test/python_tests/mapnik_logger_test.py @@ -1,21 +1,12 @@ -#!/usr/bin/env python -from nose.tools import eq_ - import mapnik -from .utilities import run_all - - def test_logger_init(): - eq_(mapnik.severity_type.Debug, 0) - eq_(mapnik.severity_type.Warn, 1) - eq_(mapnik.severity_type.Error, 2) - eq_(getattr(mapnik.severity_type, "None"), 3) + assert mapnik.severity_type.Debug == 0 + assert mapnik.severity_type.Warn == 1 + assert mapnik.severity_type.Error == 2 + assert getattr(mapnik.severity_type, "None") == 3 default = mapnik.logger.get_severity() mapnik.logger.set_severity(mapnik.severity_type.Debug) - eq_(mapnik.logger.get_severity(), mapnik.severity_type.Debug) + assert mapnik.logger.get_severity() == mapnik.severity_type.Debug mapnik.logger.set_severity(default) - eq_(mapnik.logger.get_severity(), default) - -if __name__ == "__main__": - exit(run_all(eval(x) for x in dir() if x.startswith("test_"))) + assert mapnik.logger.get_severity() == default diff --git a/test/python_tests/memory_datasource_test.py b/test/python_tests/memory_datasource_test.py index d19dbb593..fbe1d8987 100644 --- a/test/python_tests/memory_datasource_test.py +++ b/test/python_tests/memory_datasource_test.py @@ -1,21 +1,15 @@ -# encoding: utf8 -from nose.tools import eq_ - import mapnik -from .utilities import run_all - - def test_add_feature(): md = mapnik.MemoryDatasource() - eq_(md.num_features(), 0) + assert md.num_features() == 0 context = mapnik.Context() context.push('foo') feature = mapnik.Feature(context, 1) feature['foo'] = 'bar' feature.geometry = mapnik.Geometry.from_wkt('POINT(2 3)') md.add_feature(feature) - eq_(md.num_features(), 1) + assert md.num_features() == 1 featureset = md.features_at_point(mapnik.Coord(2, 3)) retrieved = [] @@ -23,15 +17,12 @@ def test_add_feature(): for feat in featureset: retrieved.append(feat) - eq_(len(retrieved), 1) + assert len(retrieved) == 1 f = retrieved[0] - eq_(f['foo'], 'bar') + assert f['foo'] == 'bar' featureset = md.features_at_point(mapnik.Coord(20, 30)) retrieved = [] for feat in featureset: retrieved.append(feat) - eq_(len(retrieved), 0) - -if __name__ == "__main__": - exit(run_all(eval(x) for x in dir() if x.startswith("test_"))) + assert len(retrieved) == 0 diff --git a/test/python_tests/multi_tile_raster_test.py b/test/python_tests/multi_tile_raster_test.py index 26fd68adc..5ec750dcd 100644 --- a/test/python_tests/multi_tile_raster_test.py +++ b/test/python_tests/multi_tile_raster_test.py @@ -1,26 +1,11 @@ -#!/usr/bin/env python - -import os - -from nose.tools import eq_ - import mapnik -from .utilities import execution_path, run_all - - -def setup(): - # All of the paths used are relative, if we run the tests - # from another directory we need to chdir() - os.chdir(execution_path('.')) - - def test_multi_tile_policy(): srs = 'epsg:4326' lyr = mapnik.Layer('raster') if 'raster' in mapnik.DatasourceCache.plugin_names(): lyr.datasource = mapnik.Raster( - file='../data/raster_tiles/${x}/${y}.tif', + file='./test/data/raster_tiles/${x}/${y}.tif', lox=-180, loy=-90, hix=180, @@ -46,29 +31,25 @@ def test_multi_tile_policy(): mapnik.render(_map, im) # test green chunk - eq_(im.view(0, 64, 1, 1).tostring(), b'\x00\xff\x00\xff') - eq_(im.view(127, 64, 1, 1).tostring(), b'\x00\xff\x00\xff') - eq_(im.view(0, 127, 1, 1).tostring(), b'\x00\xff\x00\xff') - eq_(im.view(127, 127, 1, 1).tostring(), b'\x00\xff\x00\xff') + assert im.view(0, 64, 1, 1).tostring() == b'\x00\xff\x00\xff' + assert im.view(127, 64, 1, 1).tostring() == b'\x00\xff\x00\xff' + assert im.view(0, 127, 1, 1).tostring() == b'\x00\xff\x00\xff' + assert im.view(127, 127, 1, 1).tostring() == b'\x00\xff\x00\xff' # test blue chunk - eq_(im.view(128, 64, 1, 1).tostring(), b'\x00\x00\xff\xff') - eq_(im.view(255, 64, 1, 1).tostring(), b'\x00\x00\xff\xff') - eq_(im.view(128, 127, 1, 1).tostring(), b'\x00\x00\xff\xff') - eq_(im.view(255, 127, 1, 1).tostring(), b'\x00\x00\xff\xff') + assert im.view(128, 64, 1, 1).tostring() == b'\x00\x00\xff\xff' + assert im.view(255, 64, 1, 1).tostring() == b'\x00\x00\xff\xff' + assert im.view(128, 127, 1, 1).tostring() == b'\x00\x00\xff\xff' + assert im.view(255, 127, 1, 1).tostring() == b'\x00\x00\xff\xff' # test red chunk - eq_(im.view(0, 128, 1, 1).tostring(), b'\xff\x00\x00\xff') - eq_(im.view(127, 128, 1, 1).tostring(), b'\xff\x00\x00\xff') - eq_(im.view(0, 191, 1, 1).tostring(), b'\xff\x00\x00\xff') - eq_(im.view(127, 191, 1, 1).tostring(), b'\xff\x00\x00\xff') + assert im.view(0, 128, 1, 1).tostring() == b'\xff\x00\x00\xff' + assert im.view(127, 128, 1, 1).tostring() == b'\xff\x00\x00\xff' + assert im.view(0, 191, 1, 1).tostring() == b'\xff\x00\x00\xff' + assert im.view(127, 191, 1, 1).tostring() == b'\xff\x00\x00\xff' # test magenta chunk - eq_(im.view(128, 128, 1, 1).tostring(), b'\xff\x00\xff\xff') - eq_(im.view(255, 128, 1, 1).tostring(), b'\xff\x00\xff\xff') - eq_(im.view(128, 191, 1, 1).tostring(), b'\xff\x00\xff\xff') - eq_(im.view(255, 191, 1, 1).tostring(), b'\xff\x00\xff\xff') - -if __name__ == "__main__": - setup() - exit(run_all(eval(x) for x in dir() if x.startswith("test_"))) + assert im.view(128, 128, 1, 1).tostring() == b'\xff\x00\xff\xff' + assert im.view(255, 128, 1, 1).tostring() == b'\xff\x00\xff\xff' + assert im.view(128, 191, 1, 1).tostring() == b'\xff\x00\xff\xff' + assert im.view(255, 191, 1, 1).tostring() == b'\xff\x00\xff\xff' diff --git a/test/python_tests/my.pdf b/test/python_tests/my.pdf deleted file mode 100644 index 7d80dfdd8eea01477650579757c7bc2bb593d4ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7050 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 a9>041L!1Bcu7B*k|9-E({Yw1e_5T1;UKNx8