from __future__ import annotations
import robin_sparkless as rs
F = rs
def test_between_string_column_numeric_bounds_with_column() -> None:
spark = F.SparkSession.builder().app_name("test_276").get_or_create()
data = [{"col": "5"}, {"col": "10"}, {"col": "15"}]
df = spark.createDataFrame(data, [("col", "str")])
df = df.with_column("between", F.col("col").between(1, 20))
rows = df.collect()
assert len(rows) == 3
assert rows[0]["between"] is True
assert rows[1]["between"] is True
assert rows[2]["between"] is True
def test_between_string_column_numeric_bounds_filter() -> None:
spark = F.SparkSession.builder().app_name("test_276").get_or_create()
data = [{"col": "5"}, {"col": "10"}, {"col": "25"}]
df = spark.createDataFrame(data, [("col", "str")])
out = df.filter(F.col("col").between(1, 20)).collect()
assert len(out) == 2 assert {r["col"] for r in out} == {"5", "10"}