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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
# BSD 3-Clause License; see https://github.com/scikit-hep/awkward/blob/main/LICENSE
from __future__ import annotations
import pytest
import awkward as ak
def test_ravel_boolean():
x = ak.Array([None, [False], [True]])
y = ak.ravel(ak.fill_none(x, False, axis=0))
assert y.tolist() == [False, False, True]
def test_ravel_boolean_typetracer():
x = ak.Array([None, [False], [True]], backend="typetracer")
y = ak.ravel(ak.fill_none(x, False, axis=0))
assert y.typestr == "## * bool"
def test_ravel_ListOffsetArray():
a = ak.Array([[1, 2, 3], 4, [5, 6], 7, 8])
b = ak.ravel(a)
assert b.tolist() == [1, 2, 3, 4, 5, 6, 7, 8]
def test_ravel_ListOffsetArray_typetracer():
a = ak.Array([[1, 2, 3], 4, [5, 6], 7, 8], backend="typetracer")
b = ak.ravel(a)
assert b.typestr == "## * int64"
def test_ravel_nested_ListOffsetArrays():
a = ak.Array([[[1, 2], 3], 4, [5, [[[6]]]], 7, 8])
b = ak.ravel(a)
assert b.tolist() == [1, 2, 3, 4, 5, 6, 7, 8]
def test_ravel_nested_ListOffsetArrays_typetracer():
a = ak.Array([[[1, 2], 3], 4, [5, [[[6]]]], 7, 8], backend="typetracer")
b = ak.ravel(a)
assert b.typestr == "## * int64"
def test_ravel_incompatible_contents():
a = ak.Array([1, "high", 2, "low"])
with pytest.raises(
AssertionError,
match="cannot merge NumpyArray with ListOffsetArray",
):
ak.ravel(a)
def test_ravel_incompatible_contents_typetracer():
a = ak.Array([1, "high", 2, "low"], backend="typetracer")
with pytest.raises(
AssertionError,
match="cannot merge NumpyArray with ListOffsetArray",
):
ak.ravel(a)
|