Skip to content

Commit e317067

Browse files
committed
SNOW-2913796: Add nullifzero function support for local testing (#4036)
1 parent 7d70182 commit e317067

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

src/snowflake/snowpark/mock/_functions.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -707,6 +707,13 @@ def mock_abs(expr):
707707
return abs(expr)
708708

709709

710+
@patch("nullifzero")
711+
def mock_nullifzero(expr: ColumnEmulator) -> ColumnEmulator:
712+
result = expr.replace(0, None)
713+
result.sf_type = ColumnType(expr.sf_type.datatype, nullable=True)
714+
return result
715+
716+
710717
@patch("to_decimal")
711718
def mock_to_decimal(
712719
e: ColumnEmulator,

tests/mock/test_functions.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
lit,
3030
max,
3131
min,
32+
nullifzero,
3233
rank,
3334
row_number,
3435
sum,
@@ -161,6 +162,22 @@ def test_abs(session):
161162
assert origin_df.select(abs(col("m"))).collect() == [Row(1), Row(1), Row(2)]
162163

163164

165+
def test_nullifzero(session):
166+
origin_df: DataFrame = session.create_dataframe(
167+
[
168+
[0],
169+
[1],
170+
[100],
171+
[-5],
172+
[-0],
173+
[None]
174+
],
175+
schema=["v"],
176+
)
177+
expected = [Row(None), Row(1), Row(100), Row(-5), Row(None), Row(None)]
178+
assert origin_df.select(nullifzero(col("v"))).collect() == expected
179+
180+
164181
def test_asc_and_desc(session):
165182
origin_df: DataFrame = session.create_dataframe(
166183
[

0 commit comments

Comments
 (0)