mirror of
https://github.com/protomaps/PMTiles.git
synced 2026-02-04 10:51:07 +00:00
Merge pull request #206 from protomaps/python-writer-improvements
python writer improvements
This commit is contained in:
@@ -1,30 +0,0 @@
|
||||
import unittest
|
||||
from io import BytesIO
|
||||
from pmtiles.writer import Writer
|
||||
from pmtiles.reader import Reader, MemorySource
|
||||
|
||||
|
||||
class TestReader(unittest.TestCase):
|
||||
def test_roundtrip(self):
|
||||
buf = BytesIO()
|
||||
# writer = Writer(buf, 5)
|
||||
# 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(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"})
|
||||
|
||||
# reader = Reader(MemorySource(buf.getvalue()))
|
||||
# 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")
|
||||
# self.assertEqual(reader.get(2, 0, 0), b"4")
|
||||
# self.assertEqual(reader.get(3, 0, 0), b"5")
|
||||
# self.assertEqual(reader.get(2, 0, 1), b"6")
|
||||
# self.assertEqual(reader.get(3, 0, 2), b"7")
|
||||
# self.assertEqual(reader.get(1, 1, 1), None)
|
||||
48
python/test/test_reader_writer.py
Normal file
48
python/test/test_reader_writer.py
Normal file
@@ -0,0 +1,48 @@
|
||||
import unittest
|
||||
from io import BytesIO
|
||||
from pmtiles.writer import Writer
|
||||
from pmtiles.reader import Reader, MemorySource
|
||||
from pmtiles.tile import Compression, TileType, tileid_to_zxy, zxy_to_tileid
|
||||
|
||||
|
||||
class TestReaderWriter(unittest.TestCase):
|
||||
def test_roundtrip(self):
|
||||
buf = BytesIO()
|
||||
writer = Writer(buf)
|
||||
writer.write_tile(zxy_to_tileid(0, 0, 0), b"1")
|
||||
writer.write_tile(zxy_to_tileid(1, 0, 0), b"2")
|
||||
writer.write_tile(zxy_to_tileid(2, 0, 0), b"3")
|
||||
writer.finalize(
|
||||
{
|
||||
"tile_compression": Compression.UNKNOWN,
|
||||
"tile_type": TileType.UNKNOWN,
|
||||
},
|
||||
{"key": "value"},
|
||||
)
|
||||
|
||||
reader = Reader(MemorySource(buf.getvalue()))
|
||||
self.assertEqual(reader.header()["version"], 3)
|
||||
self.assertEqual(reader.header()["min_zoom"], 0)
|
||||
self.assertEqual(reader.header()["max_zoom"], 2)
|
||||
self.assertEqual(reader.header()["clustered"], True)
|
||||
self.assertEqual(reader.metadata()["key"], "value")
|
||||
self.assertEqual(reader.get(0, 0, 0), b"1")
|
||||
self.assertEqual(reader.get(1, 0, 0), b"2")
|
||||
self.assertEqual(reader.get(2, 0, 0), b"3")
|
||||
self.assertEqual(reader.get(3, 0, 0), None)
|
||||
|
||||
def test_roundtrip_unclustered(self):
|
||||
buf = BytesIO()
|
||||
writer = Writer(buf)
|
||||
writer.write_tile(zxy_to_tileid(1, 0, 0), b"2")
|
||||
writer.write_tile(zxy_to_tileid(0, 0, 0), b"1")
|
||||
writer.finalize(
|
||||
{
|
||||
"tile_compression": Compression.UNKNOWN,
|
||||
"tile_type": TileType.UNKNOWN,
|
||||
},
|
||||
{},
|
||||
)
|
||||
|
||||
reader = Reader(MemorySource(buf.getvalue()))
|
||||
self.assertEqual(reader.header()["clustered"], False)
|
||||
@@ -1 +0,0 @@
|
||||
import unittest
|
||||
Reference in New Issue
Block a user