diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8075b013b..b8fddc244 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -8,13 +8,24 @@ on: jobs: tests: - name: Py${{ matrix.python-version }} ${{ matrix.os }} + name: Py${{ matrix.python-version }} ${{ matrix.os }} NumPy${{ matrix.numpy-version }} runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, windows-latest, ubuntu-22.04] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.9', '3.10', '3.11', '3.12'] + numpy-version: ['<2', '>=2'] + include: + - os: macos-latest + python-version: '3.8' + numpy-version: '<2' + - os: windows-latest + python-version: '3.8' + numpy-version: '<2' + - os: ubuntu-22.04 + python-version: '3.8' + numpy-version: '<2' steps: - uses: actions/checkout@v4.1.1 @@ -41,6 +52,10 @@ jobs: pip install --upgrade pip setuptools wheel pip install .[test] + - name: Install NumPy + run: | + pip install --force-reinstall "numpy${{ matrix.numpy-version }}" + - name: Tests run: | pip install cython diff --git a/tests/test_apis/test_numpy_int.py b/tests/test_apis/test_numpy_int.py index 2ffa43f01..c341b555a 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