Skip to content

Commit c2c050e

Browse files
AAgnihotryclaude
andcommitted
fix: add type narrowing for LineByLineEvaluationDetails in tests
Added isinstance() checks to help mypy understand that result.details is specifically a LineByLineEvaluationDetails object, not just the generic str | BaseModel | None type. This fixes mypy errors when accessing total_lines_actual and total_lines_expected attributes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 9516bea commit c2c050e

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

packages/uipath/tests/evaluators/test_line_by_line_utils.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
split_into_lines,
1010
wrap_line_in_structure,
1111
)
12-
from uipath.eval.evaluators.output_evaluator import LineEvaluationDetail
12+
from uipath.eval.evaluators.output_evaluator import (
13+
LineByLineEvaluationDetails,
14+
LineEvaluationDetail,
15+
)
1316
from uipath.eval.models.models import AgentExecution, NumericEvaluationResult
1417

1518

@@ -285,6 +288,7 @@ def test_build_result_with_all_matches(self):
285288
assert isinstance(result, NumericEvaluationResult)
286289
assert result.score == 1.0
287290
assert hasattr(result, "_line_by_line_results")
291+
assert isinstance(result.details, LineByLineEvaluationDetails)
288292
assert result.details.total_lines_actual == 2
289293
assert result.details.total_lines_expected == 2
290294

@@ -346,6 +350,7 @@ def test_build_result_with_unequal_line_counts(self):
346350
)
347351

348352
assert isinstance(result, NumericEvaluationResult)
353+
assert isinstance(result.details, LineByLineEvaluationDetails)
349354
assert result.details.total_lines_actual == 1
350355
assert result.details.total_lines_expected == 2
351356
assert result.score == 0.5 # 1/2

0 commit comments

Comments
 (0)