from tests.fixtures.spark_imports import get_spark_imports
def test_array_slice_parity(spark):
imports = get_spark_imports()
F = imports.F
df = spark.createDataFrame(
[(["a", "b", "c"],), (["x"],), (None,)],
["arr"],
)
df2 = df.select(F.slice("arr", 2, 2).alias("sliced"))
rows = df2.collect()
assert len(rows) == 3
assert rows[0]["sliced"] == ["b", "c"]
assert rows[1]["sliced"] == []
assert rows[2]["sliced"] is None