test_docstring_param_order.py
1 from pathlib import Path 2 3 from clint.config import Config 4 from clint.index import SymbolIndex 5 from clint.linter import Position, Range, lint_file 6 from clint.rules.docstring_param_order import DocstringParamOrder 7 8 9 def test_docstring_param_order(index: SymbolIndex) -> None: 10 code = """ 11 # Bad 12 def f(x: int, y: str) -> None: 13 ''' 14 Args: 15 y: Second param. 16 x: First param. 17 ''' 18 19 # Good 20 def f(a: int, b: str) -> None: 21 ''' 22 Args: 23 a: First param. 24 b: Second param. 25 ''' 26 """ 27 config = Config(select={DocstringParamOrder.name}) 28 violations = lint_file(Path("test.py"), code, config, index) 29 assert len(violations) == 1 30 assert all(isinstance(v.rule, DocstringParamOrder) for v in violations) 31 assert violations[0].range == Range(Position(2, 0))