Skip to content

Commit

Permalink
Unit tests - 'pytest` [WIP]
Browse files Browse the repository at this point in the history
  • Loading branch information
artemp committed Feb 1, 2023
1 parent 114bab7 commit 2a92ab0
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 65 deletions.
21 changes: 6 additions & 15 deletions test/python_tests/mapnik_logger_test.py
Original file line number Diff line number Diff line change
@@ -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
19 changes: 5 additions & 14 deletions test/python_tests/memory_datasource_test.py
Original file line number Diff line number Diff line change
@@ -1,37 +1,28 @@
# 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 = []

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
53 changes: 17 additions & 36 deletions test/python_tests/multi_tile_raster_test.py
Original file line number Diff line number Diff line change
@@ -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,
Expand All @@ -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'
Binary file removed test/python_tests/my.pdf
Binary file not shown.

0 comments on commit 2a92ab0

Please sign in to comment.