def test_str_concat(): a1 = pa.array(["f", "ba", "baz"]) a2 = pa.array(["oo", "r", ""]) actual = str_concat(NumbaStringArray.make(a1), NumbaStringArray.make(a2)) expected = NumbaStringArray.make(["foo", "bar", "baz"]) np.testing.assert_array_equal(actual.missing, expected.missing) np.testing.assert_array_equal(actual.offsets, expected.offsets) np.testing.assert_array_equal(actual.data, expected.data)
def test_decode_example(): strings = ["foo", "bar", "baz"] expected = strings[1].encode("utf32") expected = memoryview(expected) expected = np.asarray(expected).view(np.uint32) # remove endianness marker expected = expected.view(np.uint32)[1:] np.testing.assert_almost_equal( NumbaStringArray.make(strings).decode(1), expected)
def test_str_length(array, expected, offset): array = pa.array(array, pa.string())[offset:] np.testing.assert_array_equal( str_length(NumbaStringArray.make(array)), np.asarray(expected[offset:], dtype=np.int32), )
def test_isnull(array, expected, offset): array = pa.array(array, pa.string())[offset:] np.testing.assert_array_equal( isnull(NumbaStringArray.make(array)), np.asarray(expected[offset:], dtype=np.bool), )
def test_null_count(array, expected): assert null_count(NumbaStringArray.make(array)) == expected