def test_vectorize(): n = 3 array = m.create_rec_simple(n) values = m.f_simple_vectorized(array) np.testing.assert_array_equal(values, [0, 10, 20]) array_2 = m.f_simple_pass_thru_vectorized(array) np.testing.assert_array_equal(array, array_2)
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)