File: test_2051_arraybuilder_behavior_propagation.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 (21 lines) | stat: -rw-r--r-- 527 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
# BSD 3-Clause License; see https://github.com/scikit-hep/awkward/blob/main/LICENSE

from __future__ import annotations

import awkward as ak


class Point(ak.Array):
    def length(self):
        raise NotImplementedError


def test():
    behavior = {("*", "point"): Point}
    builder = ak.ArrayBuilder(behavior=behavior)
    with builder.record("point"):
        builder.field("x").real(1.0)
        builder.field("y").real(2.0)
        builder.field("z").real(3.0)

    assert ak.almost_equal(builder, builder.snapshot())