Skip to content

Commit 09d9ab8

Browse files
committed
Refactor test_expr.py to replace positional boolean literals with named constants for improved linting compliance
1 parent 34a6078 commit 09d9ab8

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,9 @@ convention = "google"
107107
[tool.ruff.lint.pycodestyle]
108108
max-doc-length = 88
109109

110+
[tool.ruff.lint.flake8-boolean-trap]
111+
extend-allowed-calls = ["lit", "datafusion.lit"]
112+
110113
# Disable docstring checking for these directories
111114
[tool.ruff.lint.per-file-ignores]
112115
"python/tests/*" = [

python/tests/test_expr.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,6 @@
5454
ensure_expr_list,
5555
)
5656

57-
# Avoid passing boolean literals positionally (FBT003). Use a named constant
58-
# so linters don't see a bare True/False literal in a function call.
59-
_TRUE = True
60-
6157

6258
@pytest.fixture
6359
def test_ctx():
@@ -206,7 +202,7 @@ def traverse_logical_plan(plan):
206202

207203

208204
def test_case_builder_error_preserves_builder_state():
209-
case_builder = functions.when(lit(_TRUE), lit(1))
205+
case_builder = functions.when(lit(True), lit(1))
210206

211207
with pytest.raises(Exception) as exc_info:
212208
case_builder.otherwise(lit("bad"))
@@ -261,7 +257,7 @@ def test_case_builder_when_handles_are_independent():
261257
first_builder = base_builder.when(col("value") > lit(10), lit("gt10"))
262258
second_builder = base_builder.when(col("value") > lit(20), lit("gt20"))
263259

264-
first_builder = first_builder.when(lit(_TRUE), lit("final-one"))
260+
first_builder = first_builder.when(lit(True), lit("final-one"))
265261

266262
expr_first = first_builder.otherwise(lit("fallback-one")).alias("first")
267263
expr_second = second_builder.otherwise(lit("fallback-two")).alias("second")
@@ -283,10 +279,10 @@ def test_case_builder_when_handles_are_independent():
283279

284280

285281
def test_case_builder_when_thread_safe():
286-
case_builder = functions.when(lit(_TRUE), lit(1))
282+
case_builder = functions.when(lit(True), lit(1))
287283

288284
def build_expr(value: int) -> bool:
289-
builder = case_builder.when(lit(_TRUE), lit(value))
285+
builder = case_builder.when(lit(True), lit(value))
290286
builder.otherwise(lit(value))
291287
return True
292288

@@ -297,7 +293,7 @@ def build_expr(value: int) -> bool:
297293
assert all(results)
298294

299295
# Ensure the shared builder remains usable after concurrent `when` calls.
300-
follow_up_builder = case_builder.when(lit(_TRUE), lit(42))
296+
follow_up_builder = case_builder.when(lit(True), lit(42))
301297
assert isinstance(follow_up_builder, type(case_builder))
302298
follow_up_builder.otherwise(lit(7))
303299

0 commit comments

Comments
 (0)