Skip to content

Commit

Permalink
Test: add optiontype_outside_record test for v2
Browse files Browse the repository at this point in the history
  • Loading branch information
agoose77 committed Feb 23, 2022
1 parent 811c267 commit 38c2fc1
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
Empty file added tests/.tmpHaXt1g
Empty file.
44 changes: 44 additions & 0 deletions tests/v2/test_1308-zip-after-option.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# BSD 3-Clause License; see https://github.com/scikit-hep/awkward-1.0/blob/main/LICENSE

import pytest # noqa: F401
import awkward as ak # noqa: F401


def test_all_options():
one = ak._v2.highlevel.Array([1, 2, None])
two = ak._v2.highlevel.Array([None, 5, None])
result = ak._v2.operations.structure.zip([one, two], optiontype_outside_record=True)
assert str(result.type) == "3 * ?(int64, int64)"
assert result.tolist() == [None, (2, 5), None]


def test_mixed_options():
one = ak._v2.highlevel.Array([1, 2, None])
two = ak._v2.highlevel.Array([4, 5, 6])
result = ak._v2.operations.structure.zip([one, two], optiontype_outside_record=True)
assert str(result.type) == "3 * ?(int64, int64)"
assert result.tolist() == [(1, 4), (2, 5), None]


def test_no_options():
one = ak._v2.highlevel.Array([1, 2, 3])
two = ak._v2.highlevel.Array([4, 5, 6])
result = ak._v2.operations.structure.zip([one, two], optiontype_outside_record=True)
assert str(result.type) == "3 * (int64, int64)"
assert result.tolist() == [(1, 4), (2, 5), (3, 6)]


def test_complex_inner():
one = ak._v2.highlevel.Array([1, 2, 3])
two = ak._v2.highlevel.Array([[7, 5], [1, 2], [4, None]])
result = ak._v2.operations.structure.zip([one, two], optiontype_outside_record=True)
assert str(result.type) == "3 * var * ?(int64, int64)"
assert result.tolist() == [[(1, 7), (1, 5)], [(2, 1), (2, 2)], [(3, 4), None]]


def test_complex_outer():
one = ak._v2.highlevel.Array([1, None, 3])
two = ak._v2.highlevel.Array([[7, 5], [1, 2], [4, None]])
result = ak._v2.operations.structure.zip([one, two], optiontype_outside_record=True)
assert str(result.type) == "3 * option[var * ?(int64, int64)]"
assert result.tolist() == [[(1, 7), (1, 5)], None, [(3, 4), None]]

0 comments on commit 38c2fc1

Please sign in to comment.