summaryrefslogtreecommitdiff
path: root/tests/functional/d/dataclass/dataclass_with_field.py
blob: 04a186c72cb00971ae13aacc6d365efca7b09b3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
"""Regression test for https://github.com/pylint-dev/pylint/issues/4899"""

# pylint: disable=missing-docstring,too-few-public-methods

from dataclasses import field
from typing import List
from pydantic.dataclasses import dataclass # [import-error]


class Item:
    pass


@dataclass
class Case:
    """Case class (group Item)"""

    name: str
    irr: float = 0
    items: List[Item] = field(default_factory=lambda: [])

    def add_item(self, item: Item) -> None:
        """Add an item to the item list."""

        self.items.append(item)

    def find_item(self, description: str) -> Item:
        """Find an item by description"""

        return next(
            (item for item in self.items if item.description == description), None
        )