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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
# BSD 3-Clause License; see https://github.com/scikit-hep/awkward/blob/main/LICENSE
from __future__ import annotations
import numpy as np # noqa: F401
import pytest # noqa: F401
import awkward as ak
to_list = ak.operations.to_list
def test():
content1 = ak.highlevel.Array([1, 2, 3, 4, 5])
content2 = ak.highlevel.Array([1.1, 2.2, 3.3, 4.4, 5.5])
assert to_list(ak.operations.zip({"x": content1, "y": content2})) == [
{"x": 1, "y": 1.1},
{"x": 2, "y": 2.2},
{"x": 3, "y": 3.3},
{"x": 4, "y": 4.4},
{"x": 5, "y": 5.5},
]
assert to_list(ak.operations.zip([content1, content2])) == [
(1, 1.1),
(2, 2.2),
(3, 3.3),
(4, 4.4),
(5, 5.5),
]
content3 = ak.highlevel.Array([[0, 1, 2], [], [3, 4], [5], [6, 7, 8, 9]])
content4 = ak.highlevel.Array(
[[0.0, 1.1, 2.2], [], [3.3, 4.4], [5.5], [6.6, 7.7, 8.8, 9.9]]
)
assert to_list(ak.operations.zip({"x": content3, "y": content4})) == [
[{"x": 0, "y": 0.0}, {"x": 1, "y": 1.1}, {"x": 2, "y": 2.2}],
[],
[{"x": 3, "y": 3.3}, {"x": 4, "y": 4.4}],
[{"x": 5, "y": 5.5}],
[
{"x": 6, "y": 6.6},
{"x": 7, "y": 7.7},
{"x": 8, "y": 8.8},
{"x": 9, "y": 9.9},
],
]
assert to_list(
ak.operations.zip({"x": content3, "y": content4}, depth_limit=1)
) == [
{"x": [0, 1, 2], "y": [0.0, 1.1, 2.2]},
{"x": [], "y": []},
{"x": [3, 4], "y": [3.3, 4.4]},
{"x": [5], "y": [5.5]},
{"x": [6, 7, 8, 9], "y": [6.6, 7.7, 8.8, 9.9]},
]
assert to_list(ak.operations.zip({"x": content1, "y": content4})) == [
[{"x": 1, "y": 0.0}, {"x": 1, "y": 1.1}, {"x": 1, "y": 2.2}],
[],
[{"x": 3, "y": 3.3}, {"x": 3, "y": 4.4}],
[{"x": 4, "y": 5.5}],
[
{"x": 5, "y": 6.6},
{"x": 5, "y": 7.7},
{"x": 5, "y": 8.8},
{"x": 5, "y": 9.9},
],
]
assert to_list(
ak.operations.zip({"x": content1, "y": content2, "z": content4})
) == [
[
{"x": 1, "y": 1.1, "z": 0.0},
{"x": 1, "y": 1.1, "z": 1.1},
{"x": 1, "y": 1.1, "z": 2.2},
],
[],
[{"x": 3, "y": 3.3, "z": 3.3}, {"x": 3, "y": 3.3, "z": 4.4}],
[{"x": 4, "y": 4.4, "z": 5.5}],
[
{"x": 5, "y": 5.5, "z": 6.6},
{"x": 5, "y": 5.5, "z": 7.7},
{"x": 5, "y": 5.5, "z": 8.8},
{"x": 5, "y": 5.5, "z": 9.9},
],
]
assert to_list(ak.operations.zip([content1, content2, content3])) == [
[(1, 1.1, 0), (1, 1.1, 1), (1, 1.1, 2)],
[],
[(3, 3.3, 3), (3, 3.3, 4)],
[(4, 4.4, 5)],
[(5, 5.5, 6), (5, 5.5, 7), (5, 5.5, 8), (5, 5.5, 9)],
]
|