File: test_1189_fix_singletons_for_non_optional_data.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 (54 lines) | stat: -rw-r--r-- 1,318 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
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
# 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():
    ak_array = ak.Array([1, 2, 3])
    assert ak.operations.singletons(ak_array).to_list() == [[1], [2], [3]]


# FIXME: action to be taken on deciding between [None] [] ; see Issue #983
def test2():
    a = ak.Array([[3, 1, 2], [4, 5], []])
    assert ak.operations.argmin(a, axis=1, keepdims=True).to_list() == [
        [1],
        [0],
        [None],
    ]
    assert ak.operations.singletons(ak.operations.argmin(a, axis=1)).to_list() == [
        [1],
        [0],
        [],
    ]

    assert a[ak.operations.argmin(a, axis=1, keepdims=True)].to_list() == [
        [1],
        [4],
        [None],
    ]
    assert a[ak.operations.singletons(ak.operations.argmin(a, axis=1))].to_list() == [
        [1],
        [4],
        [],
    ]


def test_numpyarray():
    a = ak.contents.NumpyArray(np.arange(12).reshape(4, 3))
    assert ak.operations.singletons(a, axis=1).to_list() == [
        [[0], [1], [2]],
        [[3], [4], [5]],
        [[6], [7], [8]],
        [[9], [10], [11]],
    ]


def test_empyarray():
    e = ak.contents.EmptyArray()
    assert ak.operations.singletons(e).to_list() == []