-
Notifications
You must be signed in to change notification settings - Fork 203
/
Copy pathtest.py
59 lines (52 loc) · 2.41 KB
/
test.py
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import os, shutil
import sys
import json
from nose import with_setup
from mbutil import mbtiles_to_disk, disk_to_mbtiles
def clear_data():
try: shutil.rmtree('test/output')
except Exception: pass
@with_setup(clear_data, clear_data)
def test_mbtiles_to_disk():
mbtiles_to_disk('test/data/one_tile.mbtiles', 'test/output')
assert os.path.exists('test/output/0/0/0.png')
assert os.path.exists('test/output/metadata.json')
@with_setup(clear_data, clear_data)
def test_mbtiles_to_disk_and_back():
mbtiles_to_disk('test/data/one_tile.mbtiles', 'test/output')
assert os.path.exists('test/output/0/0/0.png')
disk_to_mbtiles('test/output/', 'test/output/one.mbtiles')
assert os.path.exists('test/output/one.mbtiles')
@with_setup(clear_data, clear_data)
def test_utf8grid_mbtiles_to_disk():
mbtiles_to_disk('test/data/utf8grid.mbtiles', 'test/output')
assert os.path.exists('test/output/0/0/0.grid.json')
assert os.path.exists('test/output/0/0/0.png')
assert os.path.exists('test/output/metadata.json')
@with_setup(clear_data, clear_data)
def test_utf8grid_disk_to_mbtiles():
os.mkdir('test/output')
mbtiles_to_disk('test/data/utf8grid.mbtiles', 'test/output/original', callback=None)
disk_to_mbtiles('test/output/original/', 'test/output/imported.mbtiles')
mbtiles_to_disk('test/output/imported.mbtiles', 'test/output/imported', callback=None)
assert os.path.exists('test/output/imported/0/0/0.grid.json')
original = json.load(open('test/output/original/0/0/0.grid.json'))
imported = json.load(open('test/output/imported/0/0/0.grid.json'))
assert original['data']['77'] == imported['data']['77'] == {u'ISO_A2': u'FR'}
@with_setup(clear_data, clear_data)
def test_mbtiles_to_disk_utfgrid_callback():
os.mkdir('test/output')
callback = {}
for c in ['null', 'foo']:
mbtiles_to_disk('test/data/utf8grid.mbtiles', 'test/output/%s' % c, callback=c)
f = open('test/output/%s/0/0/0.grid.json' % c)
callback[c] = f.read().split('{')[0]
f.close()
assert callback['foo'] == 'foo('
assert callback['null'] == ''
@with_setup(clear_data, clear_data)
def test_disk_to_mbtiles_zyx():
os.mkdir('test/output')
disk_to_mbtiles('test/data/tiles/zyx', 'test/output/zyx.mbtiles', scheme='zyx', format='png')
mbtiles_to_disk('test/output/zyx.mbtiles', 'test/output/tiles', callback=None)
assert os.path.exists('test/output/tiles/3/1/5.png')