Coverage for tests / unit / parsers / pydoclint_parser / test_issue_model.py: 100%
30 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
1"""Tests for pydoclint issue model."""
3from __future__ import annotations
5from assertpy import assert_that
7from lintro.parsers.pydoclint.pydoclint_issue import PydoclintIssue
10def test_issue_defaults() -> None:
11 """Issue has correct default values."""
12 issue = PydoclintIssue()
14 assert_that(issue.file).is_equal_to("")
15 assert_that(issue.line).is_equal_to(0)
16 assert_that(issue.column).is_equal_to(0)
17 assert_that(issue.code).is_equal_to("")
18 assert_that(issue.message).is_equal_to("")
21def test_issue_with_values() -> None:
22 """Issue stores values correctly."""
23 issue = PydoclintIssue(
24 file="test.py",
25 line=10,
26 column=5,
27 code="DOC101",
28 message="Test message",
29 )
31 assert_that(issue.file).is_equal_to("test.py")
32 assert_that(issue.line).is_equal_to(10)
33 assert_that(issue.column).is_equal_to(5)
34 assert_that(issue.code).is_equal_to("DOC101")
35 assert_that(issue.message).is_equal_to("Test message")
38def test_to_display_row() -> None:
39 """Issue converts to display row correctly."""
40 issue = PydoclintIssue(
41 file="test.py",
42 line=10,
43 column=5,
44 code="DOC101",
45 message="Test message",
46 )
48 row = issue.to_display_row()
50 assert_that(row["file"]).is_equal_to("test.py")
51 assert_that(row["line"]).is_equal_to("10")
52 assert_that(row["column"]).is_equal_to("5")
53 assert_that(row["code"]).is_equal_to("DOC101")
54 assert_that(row["message"]).is_equal_to("Test message")
57def test_to_display_row_with_zero_line() -> None:
58 """Issue with zero line displays dash."""
59 issue = PydoclintIssue(
60 file="test.py",
61 line=0,
62 column=0,
63 code="DOC101",
64 message="Test message",
65 )
67 row = issue.to_display_row()
69 assert_that(row["line"]).is_equal_to("-")
70 assert_that(row["column"]).is_equal_to("-")