From 61a5076dc5163e3b4eb95652a7752a98007d577b Mon Sep 17 00:00:00 2001 From: Brandon Liu Date: Mon, 30 Jan 2023 03:41:13 +0800 Subject: [PATCH] add edge case find_tile test [#117] --- js/test/v3.test.ts | 9 +++++++++ python/test/test_tile.py | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/js/test/v3.test.ts b/js/test/v3.test.ts index 5a9e900..03d0af8 100644 --- a/js/test/v3.test.ts +++ b/js/test/v3.test.ts @@ -107,6 +107,15 @@ test("tile search for first entry == id", () => { assert.strictEqual(findTile(entries, 101), null); }); +test("tile search with runlength", () => { + const entries: Entry[] = [ + { tileId: 3, offset: 3, length: 1, runLength: 2 }, + { tileId: 5, offset: 5, length: 1, runLength: 2 }, + ]; + const entry = findTile(entries, 4)!; + assert.strictEqual(entry.offset, 3); +}); + test("tile search with multiple tile entries", () => { let entries: Entry[] = [{ tileId: 100, offset: 1, length: 1, runLength: 2 }]; let entry = findTile(entries, 101)!; diff --git a/python/test/test_tile.py b/python/test/test_tile.py index 5f5de22..06cf693 100644 --- a/python/test/test_tile.py +++ b/python/test/test_tile.py @@ -86,6 +86,11 @@ class TestFindTile(unittest.TestCase): self.assertEqual(result.offset, 1) self.assertEqual(result.length, 1) + def test_find_tile_runlength(self): + entries = [Entry(3, 3, 1, 2),Entry(5, 5, 1, 2)] + result = find_tile(entries, 4) + self.assertEqual(result.offset, 3) + def test_find_tile_multiple(self): entries = [Entry(100, 1, 1, 2)] result = find_tile(entries, 101)