Coverage for tests / unit / formatters / styles / test_style_plain.py: 100%
21 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"""Unit tests for PlainStyle formatter.
3Tests verify PlainStyle correctly formats tabular data as plain text
4with proper column alignment and separators.
5"""
7from __future__ import annotations
9from assertpy import assert_that
11from lintro.formatters.styles.plain import PlainStyle
13from .conftest import MULTI_ROW_DATA, SINGLE_ROW_DATA, STANDARD_COLUMNS, TWO_COLUMNS
16def test_plain_style_single_row_contains_all_data(plain_style: PlainStyle) -> None:
17 """PlainStyle format includes header and data values.
19 Args:
20 plain_style: The PlainStyle formatter instance.
21 """
22 result = plain_style.format(STANDARD_COLUMNS, SINGLE_ROW_DATA)
24 assert_that(result).contains("File")
25 assert_that(result).contains("src/main.py")
26 assert_that(result).contains("Error found")
29def test_plain_style_multiple_rows_contains_all_files(
30 plain_style: PlainStyle,
31) -> None:
32 """PlainStyle format includes all file paths from multiple rows.
34 Args:
35 plain_style: The PlainStyle formatter instance.
36 """
37 result = plain_style.format(TWO_COLUMNS, MULTI_ROW_DATA)
39 assert_that(result).contains("src/a.py")
40 assert_that(result).contains("src/b.py")
43def test_plain_style_row_shorter_than_columns(plain_style: PlainStyle) -> None:
44 """PlainStyle handles row with fewer elements than columns.
46 Args:
47 plain_style: The PlainStyle formatter instance.
48 """
49 result = plain_style.format(STANDARD_COLUMNS, [["src/main.py"]])
51 assert_that(result).contains("src/main.py")
54def test_plain_style_has_separator_line(plain_style: PlainStyle) -> None:
55 """PlainStyle output includes separator line with dashes.
57 Args:
58 plain_style: The PlainStyle formatter instance.
59 """
60 result = plain_style.format(TWO_COLUMNS, [["src/main.py", "10"]])
61 lines = result.split("\n")
63 assert_that(len(lines)).is_greater_than_or_equal_to(3)
64 assert_that(lines[1]).contains("-")