diff --git a/src/h3/api/basic_int/__init__.py b/src/h3/api/basic_int/__init__.py index 60359662..992fce78 100644 --- a/src/h3/api/basic_int/__init__.py +++ b/src/h3/api/basic_int/__init__.py @@ -53,7 +53,7 @@ def str_to_int(h): int Unsigned 64-bit integer """ - return _cy.str_to_int(h) + return _cy.str_to_int(str(h)) def int_to_str(x): diff --git a/tests/test_apis/test_numpy_int.py b/tests/test_apis/test_numpy_int.py index 2ffa43f0..c341b555 100644 --- a/tests/test_apis/test_numpy_int.py +++ b/tests/test_apis/test_numpy_int.py @@ -5,7 +5,10 @@ def test1(): - lat, lng = 37.7752702151959, -122.418307270836, + lat, lng = ( + 37.7752702151959, + -122.418307270836, + ) assert h3.latlng_to_cell(lat, lng, 9) == 617700169958293503 @@ -31,3 +34,19 @@ def test_compact_cells(): assert isinstance(cells, np.ndarray) assert h3.compact_cells(cells) == [h] + + +def test_numpy_str(): + expected = [ + 617700169957507071, + 617700169957769215, + 617700169958031359, + 617700169958293503, + 617700169961177087, + 617700169964847103, + 617700169965109247, + ] + cells = np.array([h3.int_to_str(h) for h in expected]) + got = [h3.str_to_int(c) for c in cells] + + assert expected == got