File: test_0794_ak_cartesian_on_empty_array.py

package info (click to toggle)
python-awkward 2.6.5-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 23,088 kB
  • sloc: python: 148,689; cpp: 33,562; sh: 432; makefile: 21; javascript: 8
file content (28 lines) | stat: -rw-r--r-- 903 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# BSD 3-Clause License; see https://github.com/scikit-hep/awkward/blob/main/LICENSE

from __future__ import annotations

import numpy as np
import pytest  # noqa: F401

import awkward as ak

to_list = ak.operations.to_list


def test():
    nparray = ak.contents.NumpyArray(np.array([1, 2, 3], dtype=np.int64))
    listarray = ak.contents.ListArray(
        ak.index.Index64(np.array([0], dtype=np.int64)),
        ak.index.Index64(np.array([3], dtype=np.int64)),
        nparray,
    )
    indexedarray = ak.contents.IndexedArray(ak.index.Index64([]), listarray)

    cart = ak.operations.cartesian([indexedarray, indexedarray], nested=True)
    assert str(cart.type) == "0 * var * var * (int64, int64)"
    assert to_list(cart) == []

    cart = ak.operations.cartesian([indexedarray, indexedarray], nested=False)
    assert str(cart.type) == "0 * var * (int64, int64)"
    assert to_list(cart) == []