File: test_0879_non_primitive_with_field.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 (29 lines) | stat: -rw-r--r-- 933 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
29
# 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


def test_unknown_type():
    array = ak.Array({"x": np.arange(10)})
    array = ak.operations.with_field(array=array, what=None, where="unknown field1")
    array = ak.operations.with_field(array=array, what=[None], where="unknown field2")

    # Try to access the type of a single element
    # This raises a ValueError in #879
    tpe1 = array["unknown field1"].type
    tpe2 = array["unknown field2"].type
    assert str(tpe1) == "10 * ?unknown"
    assert str(tpe2) == "10 * ?unknown"


def test_in_place_wrapper_broadcasting():
    array = ak.Array({"x": np.arange(3)})
    array["unknown field"] = None

    assert array["unknown field"].to_list() == [None, None, None]
    assert ak.operations.fields(array) == ["x", "unknown field"]