Ejemplo n.º 1
0
def test_enum_array():
    from sys import byteorder
    e = '<' if byteorder == 'little' else '>'

    arr = m.create_enum_array(3)
    dtype = arr.dtype
    assert dtype == np.dtype([('e1', e + 'i8'), ('e2', 'u1')])
    assert m.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 m.create_enum_array(0).dtype == dtype
Ejemplo n.º 2
0
def test_enum_array():
    from sys import byteorder

    e = "<" if byteorder == "little" else ">"

    arr = m.create_enum_array(3)
    dtype = arr.dtype
    assert dtype == np.dtype([("e1", e + "i8"), ("e2", "u1")])
    assert m.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 m.create_enum_array(0).dtype == dtype
Ejemplo n.º 3
0
def test_enum_array():
    from sys import byteorder
    e = '<' if byteorder == 'little' else '>'

    arr = m.create_enum_array(3)
    dtype = arr.dtype
    assert dtype == np.dtype([('e1', e + 'i8'), ('e2', 'u1')])
    assert m.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 m.create_enum_array(0).dtype == dtype
Ejemplo n.º 4
0
def test_scalar_conversion():
    n = 3
    arrays = [m.create_rec_simple(n), m.create_rec_packed(n),
              m.create_rec_nested(n), m.create_enum_array(n)]
    funcs = [m.f_simple, m.f_packed, m.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)
Ejemplo n.º 5
0
def test_scalar_conversion():
    n = 3
    arrays = [m.create_rec_simple(n), m.create_rec_packed(n),
              m.create_rec_nested(n), m.create_enum_array(n)]
    funcs = [m.f_simple, m.f_packed, m.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)