reformat with black

This commit is contained in:
fscottfoti
2022-04-09 12:32:11 -07:00
parent 02c4dcc920
commit ed40933563
6 changed files with 252 additions and 220 deletions

View File

@@ -2,95 +2,95 @@ import unittest
from pmtiles import Entry
from pmtiles.writer import find_leaf_level, make_pyramid
class TestTilePyramid(unittest.TestCase):
def test_root_sorted(self):
entries = [
Entry(1,0,0,1,1,False),
Entry(1,0,1,2,1,False),
Entry(1,1,0,3,1,False),
Entry(1,1,1,4,1,False),
Entry(0,0,0,0,1,False)
]
root_entries, leaf_dirs = make_pyramid(entries,0,6)
self.assertEqual(len(root_entries),5)
self.assertEqual(len(leaf_dirs),0)
self.assertEqual(root_entries[0].z,0)
self.assertEqual(root_entries[4].z,1)
entries = [
Entry(1, 0, 0, 1, 1, False),
Entry(1, 0, 1, 2, 1, False),
Entry(1, 1, 0, 3, 1, False),
Entry(1, 1, 1, 4, 1, False),
Entry(0, 0, 0, 0, 1, False),
]
root_entries, leaf_dirs = make_pyramid(entries, 0, 6)
self.assertEqual(len(root_entries), 5)
self.assertEqual(len(leaf_dirs), 0)
self.assertEqual(root_entries[0].z, 0)
self.assertEqual(root_entries[4].z, 1)
def test_leafdir(self):
entries = [
Entry(0,0,0,0,1,False),
Entry(1,0,0,1,1,False),
Entry(1,0,1,2,1,False),
Entry(1,1,0,3,1,False),
Entry(1,1,1,4,1,False),
Entry(2,0,0,5,1,False),
Entry(3,0,0,6,1,False),
Entry(2,0,1,7,1,False),
Entry(3,0,2,8,1,False)
]
root_entries, leaf_dirs = make_pyramid(entries,0,7)
self.assertEqual(len(root_entries),7)
self.assertEqual(root_entries[5].y,0)
self.assertEqual(root_entries[6].y,1)
self.assertEqual(len(leaf_dirs),1)
self.assertEqual(len(leaf_dirs[0]),4)
self.assertEqual(leaf_dirs[0][0].z,2)
self.assertEqual(leaf_dirs[0][1].z,2)
self.assertEqual(leaf_dirs[0][2].z,3)
self.assertEqual(leaf_dirs[0][3].z,3)
entries = [
Entry(0, 0, 0, 0, 1, False),
Entry(1, 0, 0, 1, 1, False),
Entry(1, 0, 1, 2, 1, False),
Entry(1, 1, 0, 3, 1, False),
Entry(1, 1, 1, 4, 1, False),
Entry(2, 0, 0, 5, 1, False),
Entry(3, 0, 0, 6, 1, False),
Entry(2, 0, 1, 7, 1, False),
Entry(3, 0, 2, 8, 1, False),
]
root_entries, leaf_dirs = make_pyramid(entries, 0, 7)
self.assertEqual(len(root_entries), 7)
self.assertEqual(root_entries[5].y, 0)
self.assertEqual(root_entries[6].y, 1)
self.assertEqual(len(leaf_dirs), 1)
self.assertEqual(len(leaf_dirs[0]), 4)
self.assertEqual(leaf_dirs[0][0].z, 2)
self.assertEqual(leaf_dirs[0][1].z, 2)
self.assertEqual(leaf_dirs[0][2].z, 3)
self.assertEqual(leaf_dirs[0][3].z, 3)
def test_leafdir_overflow(self):
entries = [
Entry(0,0,0,0,1,False),
Entry(1,0,0,1,1,False),
Entry(1,0,1,2,1,False),
Entry(1,1,0,3,1,False),
Entry(1,1,1,4,1,False),
Entry(2,0,0,5,1,False),
Entry(3,0,0,6,1,False),
Entry(3,0,1,7,1,False),
Entry(3,1,0,8,1,False),
Entry(3,1,1,9,1,False),
Entry(2,0,1,10,1,False),
Entry(3,0,2,11,1,False),
Entry(3,0,3,12,1,False),
Entry(3,1,2,13,1,False),
Entry(3,1,3,14,1,False)
]
root_entries, leaf_dirs = make_pyramid(entries,0,7)
self.assertEqual(len(root_entries),7)
self.assertEqual(root_entries[5].y,0)
self.assertEqual(root_entries[6].y,1)
entries = [
Entry(0, 0, 0, 0, 1, False),
Entry(1, 0, 0, 1, 1, False),
Entry(1, 0, 1, 2, 1, False),
Entry(1, 1, 0, 3, 1, False),
Entry(1, 1, 1, 4, 1, False),
Entry(2, 0, 0, 5, 1, False),
Entry(3, 0, 0, 6, 1, False),
Entry(3, 0, 1, 7, 1, False),
Entry(3, 1, 0, 8, 1, False),
Entry(3, 1, 1, 9, 1, False),
Entry(2, 0, 1, 10, 1, False),
Entry(3, 0, 2, 11, 1, False),
Entry(3, 0, 3, 12, 1, False),
Entry(3, 1, 2, 13, 1, False),
Entry(3, 1, 3, 14, 1, False),
]
root_entries, leaf_dirs = make_pyramid(entries, 0, 7)
self.assertEqual(len(root_entries), 7)
self.assertEqual(root_entries[5].y, 0)
self.assertEqual(root_entries[6].y, 1)
def test_sparse_pyramid(self):
entries = [
Entry(0,0,0,0,1,False),
Entry(1,0,0,1,1,False),
Entry(1,0,1,2,1,False),
Entry(1,1,0,3,1,False),
Entry(1,1,1,4,1,False),
Entry(2,0,0,5,1,False),
Entry(3,0,0,6,1,False),
# Entry(2,0,1,7,1,False), make this entry missing
Entry(3,0,2,8,1,False)
]
root_entries, leaf_dirs = make_pyramid(entries,0,7)
self.assertEqual(len(root_entries),7)
self.assertEqual(root_entries[6].z,2)
self.assertEqual(root_entries[6].x,0)
self.assertEqual(root_entries[6].y,1)
entries = [
Entry(0, 0, 0, 0, 1, False),
Entry(1, 0, 0, 1, 1, False),
Entry(1, 0, 1, 2, 1, False),
Entry(1, 1, 0, 3, 1, False),
Entry(1, 1, 1, 4, 1, False),
Entry(2, 0, 0, 5, 1, False),
Entry(3, 0, 0, 6, 1, False),
# Entry(2,0,1,7,1,False), make this entry missing
Entry(3, 0, 2, 8, 1, False),
]
root_entries, leaf_dirs = make_pyramid(entries, 0, 7)
self.assertEqual(len(root_entries), 7)
self.assertEqual(root_entries[6].z, 2)
self.assertEqual(root_entries[6].x, 0)
self.assertEqual(root_entries[6].y, 1)
def test_full_z7_pyramid(self):
entries = []
# create artificial 8 levels
for z in range(0,9):
for x in range(0,pow(2,z)):
for y in range(0,pow(2,z)):
entries.append(Entry(z,x,y,0,0,False))
self.assertEqual(find_leaf_level(entries,21845),7)
root_entries, leaf_dirs = make_pyramid(entries,0)
self.assertEqual(len(root_entries),21845)
self.assertEqual(len(leaf_dirs),4)
self.assertTrue(len(leaf_dirs[0]) <= 21845)
entries = []
# create artificial 8 levels
for z in range(0, 9):
for x in range(0, pow(2, z)):
for y in range(0, pow(2, z)):
entries.append(Entry(z, x, y, 0, 0, False))
self.assertEqual(find_leaf_level(entries, 21845), 7)
root_entries, leaf_dirs = make_pyramid(entries, 0)
self.assertEqual(len(root_entries), 21845)
self.assertEqual(len(leaf_dirs), 4)
self.assertTrue(len(leaf_dirs[0]) <= 21845)