from __future__ import annotations
from tests.fixtures.spark_imports import get_spark_imports
_imports = get_spark_imports()
F = _imports.F
def test_column_has_between(spark) -> None:
c = F.col("v")
assert hasattr(c, "between")
def test_filter_between_returns_matching_row(spark) -> None:
data = [{"v": 10}, {"v": 25}, {"v": 50}]
df = spark.createDataFrame(data, ["v"])
out = df.filter(F.col("v").between(F.lit(20), F.lit(30))).collect()
assert len(out) == 1
assert out[0]["v"] == 25
def test_filter_between_inclusive_boundaries(spark) -> None:
data = [{"v": 10}, {"v": 20}]
df = spark.createDataFrame(data, ["v"])
out = df.filter(F.col("v").between(F.lit(10), F.lit(10))).collect()
assert len(out) == 1
assert out[0]["v"] == 10