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
|
# 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
behavior = {}
@ak.behaviors.mixins.mixin_class(behavior, "1030_point")
class AVeryVeryVeryLargeClassName:
@property
def mag2(self):
return self.x**2 + self.y**2
def test():
x = np.random.randint(0, 64, 128)
y = np.random.randint(0, 64, 128)
point_1030 = ak.operations.zip(
{"x": x, "y": y}, behavior=behavior, with_name="1030_point"
)
assert isinstance(point_1030.mag2, ak.Array)
point = ak.operations.zip(
{"x": x, "y": y}, behavior=behavior, with_name="AVeryVeryVeryLargeClassName"
)
with pytest.raises(AttributeError):
assert isinstance(point.mag2, ak.Array)
|