def test_enum_array(): from pybind11_tests import create_enum_array, print_enum_array arr = create_enum_array(3) dtype = arr.dtype assert dtype == np.dtype([('e1', '<i8'), ('e2', 'u1')]) assert print_enum_array(arr) == ["e1=A,e2=X", "e1=B,e2=Y", "e1=A,e2=X"] assert arr['e1'].tolist() == [-1, 1, -1] assert arr['e2'].tolist() == [1, 2, 1] assert create_enum_array(0).dtype == dtype
def test_enum_array(): from pybind11_tests import create_enum_array, print_enum_array from sys import byteorder e = '<' if byteorder == 'little' else '>' arr = create_enum_array(3) dtype = arr.dtype assert dtype == np.dtype([('e1', e + 'i8'), ('e2', 'u1')]) assert print_enum_array(arr) == ["e1=A,e2=X", "e1=B,e2=Y", "e1=A,e2=X"] assert arr['e1'].tolist() == [-1, 1, -1] assert arr['e2'].tolist() == [1, 2, 1] assert create_enum_array(0).dtype == dtype
def test_enum_array(): from pybind11_tests import create_enum_array, print_enum_array arr = create_enum_array(3) dtype = arr.dtype assert dtype == np.dtype([('e1', '<i8'), ('e2', 'u1')]) assert print_enum_array(arr) == [ "e1=A,e2=X", "e1=B,e2=Y", "e1=A,e2=X" ] assert arr['e1'].tolist() == [-1, 1, -1] assert arr['e2'].tolist() == [1, 2, 1] assert create_enum_array(0).dtype == dtype
def test_enum_array(): from pybind11_tests import create_enum_array, print_enum_array arr = create_enum_array(3) dtype = arr.dtype if dtype != np.dtype([('e1', '<i8'), ('e2', 'u1')]): raise AssertionError if print_enum_array(arr) != ["e1=A,e2=X", "e1=B,e2=Y", "e1=A,e2=X"]: raise AssertionError if arr['e1'].tolist() != [-1, 1, -1]: raise AssertionError if arr['e2'].tolist() != [1, 2, 1]: raise AssertionError if create_enum_array(0).dtype != dtype: raise AssertionError
def test_enum_array(): from pybind11_tests import create_enum_array, print_enum_array from sys import byteorder e = '<' if byteorder == 'little' else '>' arr = create_enum_array(3) dtype = arr.dtype assert dtype == np.dtype([('e1', e + 'i8'), ('e2', 'u1')]) assert print_enum_array(arr) == [ "e1=A,e2=X", "e1=B,e2=Y", "e1=A,e2=X" ] assert arr['e1'].tolist() == [-1, 1, -1] assert arr['e2'].tolist() == [1, 2, 1] assert create_enum_array(0).dtype == dtype
def test_scalar_conversion(): from pybind11_tests import (create_rec_simple, f_simple, create_rec_packed, f_packed, create_rec_nested, f_nested, create_enum_array) n = 3 arrays = [ create_rec_simple(n), create_rec_packed(n), create_rec_nested(n), create_enum_array(n) ] funcs = [f_simple, f_packed, f_nested] for i, func in enumerate(funcs): for j, arr in enumerate(arrays): if i == j and i < 2: if [func(arr[k]) for k in range(n)] != [k * 10 for k in range(n)]: raise AssertionError else: with pytest.raises(TypeError) as excinfo: func(arr[0]) if 'incompatible function arguments' not in str(excinfo.value): raise AssertionError
def test_scalar_conversion(): from pybind11_tests import (create_rec_simple, f_simple, create_rec_packed, f_packed, create_rec_nested, f_nested, create_enum_array) n = 3 arrays = [create_rec_simple(n), create_rec_packed(n), create_rec_nested(n), create_enum_array(n)] funcs = [f_simple, f_packed, f_nested] for i, func in enumerate(funcs): for j, arr in enumerate(arrays): if i == j and i < 2: assert [func(arr[k]) for k in range(n)] == [k * 10 for k in range(n)] else: with pytest.raises(TypeError) as excinfo: func(arr[0]) assert 'incompatible function arguments' in str(excinfo.value)