File: pickling_test.py

package info (click to toggle)
python-mapnik 1%3A0.0~20240222-5ab32f020-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 11,364 kB
  • sloc: python: 11,685; cpp: 5,776; sh: 242; makefile: 10
file content (36 lines) | stat: -rw-r--r-- 950 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import os
import pickle
import pytest
import mapnik
from .utilities import execution_path

@pytest.fixture(scope="module")
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('.'))
    yield


def test_color_pickle():
    c = mapnik.Color('blue')
    assert pickle.loads(pickle.dumps(c)) == c
    c = mapnik.Color(0, 64, 128)
    assert pickle.loads(pickle.dumps(c)) == c
    c = mapnik.Color(0, 64, 128, 192)
    assert pickle.loads(pickle.dumps(c)) == c


def test_envelope_pickle():
    e = mapnik.Box2d(100, 100, 200, 200)
    assert pickle.loads(pickle.dumps(e)) == e


def test_parameters_pickle():
    params = mapnik.Parameters()
    params.append(mapnik.Parameter('oh', str('yeah')))

    params2 = pickle.loads(pickle.dumps(params, pickle.HIGHEST_PROTOCOL))

    assert params[0][0] == params2[0][0]
    assert params[0][1] == params2[0][1]