import robin_sparkless as rs
def test_astype_cast_returns_expected_value_not_none() -> None:
spark = rs.SparkSession.builder().app_name("test").get_or_create()
df = spark.createDataFrame([{"num": 1}], [("num", "bigint")])
result = df.with_column("num_str", rs.col("num").cast("string"))
rows = result.collect()
assert rows[0]["num_str"] == "1"
assert rows[0]["num"] == 1
def test_basic_astype_int_in_collect() -> None:
spark = rs.SparkSession.builder().app_name("test").get_or_create()
df = spark.createDataFrame([{"s": "123"}], [("s", "string")])
result = df.with_column("n", rs.col("s").cast("int"))
rows = result.collect()
assert rows[0]["n"] == 123
assert rows[0]["s"] == "123"
def test_basic_astype_multiple_chained() -> None:
spark = rs.SparkSession.builder().app_name("test").get_or_create()
df = spark.createDataFrame([{"x": 123}], [("x", "bigint")])
result = df.with_column("s", rs.col("x").cast("string"))
rows = result.collect()
assert rows[0]["s"] == "123"