mirror of
https://github.com/protomaps/PMTiles.git
synced 2026-02-04 10:51:07 +00:00
Python API changed to do I/O in larger blocks
This commit is contained in:
39
python/test/test_convert.py
Normal file
39
python/test/test_convert.py
Normal file
@@ -0,0 +1,39 @@
|
||||
import unittest
|
||||
from io import BytesIO
|
||||
import os
|
||||
from pmtiles.writer import Writer
|
||||
from pmtiles.reader import Reader, MemorySource
|
||||
from pmtiles.convert import pmtiles_to_mbtiles, mbtiles_to_pmtiles
|
||||
|
||||
|
||||
class TestConvert(unittest.TestCase):
|
||||
def tearDown(self):
|
||||
try:
|
||||
os.remove("test_tmp.pmtiles")
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
os.remove("test_tmp.mbtiles")
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
os.remove("test_tmp_2.mbtiles")
|
||||
except:
|
||||
pass
|
||||
|
||||
def test_roundtrip(self):
|
||||
|
||||
with open("test_tmp.pmtiles", "wb") as f:
|
||||
writer = Writer(f, 7)
|
||||
writer.write_tile(1, 0, 0, b"0")
|
||||
writer.write_tile(1, 0, 1, b"1")
|
||||
writer.write_tile(1, 1, 0, b"2")
|
||||
writer.write_tile(1, 1, 1, b"3")
|
||||
writer.write_tile(2, 0, 0, b"4")
|
||||
writer.write_tile(3, 0, 0, b"5")
|
||||
writer.write_tile(2, 0, 1, b"6")
|
||||
writer.write_tile(3, 0, 2, b"7")
|
||||
writer.finalize({"key": "value"})
|
||||
|
||||
pmtiles_to_mbtiles("test_tmp.pmtiles", "test_tmp.mbtiles", False)
|
||||
mbtiles_to_pmtiles("test_tmp.mbtiles", "test_tmp_2.pmtiles", 3, False)
|
||||
@@ -19,9 +19,8 @@ class TestReader(unittest.TestCase):
|
||||
writer.finalize({"key": "value"})
|
||||
|
||||
reader = Reader(MemorySource(buf.getvalue()))
|
||||
self.assertEqual(reader.version, 2)
|
||||
self.assertEqual(reader.root_entries, 6)
|
||||
self.assertEqual(reader.metadata["key"], "value")
|
||||
self.assertEqual(reader.header().version, 2)
|
||||
self.assertEqual(reader.header().metadata["key"], "value")
|
||||
self.assertEqual(reader.get(1, 0, 0), b"0")
|
||||
self.assertEqual(reader.get(1, 0, 1), b"1")
|
||||
self.assertEqual(reader.get(1, 1, 0), b"2")
|
||||
|
||||
Reference in New Issue
Block a user