File: test_2070_to_layout_string.py

package info (click to toggle)
python-awkward 2.8.9-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 24,932 kB
  • sloc: python: 178,875; cpp: 33,828; sh: 432; makefile: 21; javascript: 8
file content (28 lines) | stat: -rw-r--r-- 806 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

import awkward as ak


@pytest.mark.parametrize("string", ["hello world!", b"hello world!"])
def test(string):
    assert ak.almost_equal(
        ak.to_layout(string, primitive_policy="pass-through"),
        ak.contents.NumpyArray(
            np.array(
                [104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33],
                dtype=np.uint8,
            ),
            parameters={"__array__": "char" if isinstance(string, str) else "byte"},
        ),
    )


@pytest.mark.parametrize("string", ["hello world!", b"hello world!"])
def test_ufunc(string):
    array = ak.Array([string, string])
    assert ak.all(array == string)