summaryrefslogtreecommitdiffstats
path: root/contrib/python/PyHamcrest/py3/hamcrest/core/selfdescribingvalue.py
blob: 148ca01f4f69d19b1eb6241135d89b7a72bb4277 (plain) (blame)
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
import warnings
from typing import Any

from hamcrest.core.description import Description
from hamcrest.core.selfdescribing import SelfDescribing

__author__ = "Jon Reid"
__copyright__ = "Copyright 2011 hamcrest.org"
__license__ = "BSD, see License.txt"


class SelfDescribingValue(SelfDescribing):
    """Wrap any value in a ``SelfDescribingValue`` to satisfy the
    :py:class:`~hamcrest.core.selfdescribing.SelfDescribing` interface.

    **Deprecated:** No need for this class now that
    :py:meth:`~hamcrest.core.description.Description.append_description_of`
    handles any type of value.

    """

    def __init__(self, value: Any) -> None:
        warnings.warn("SelfDescribingValue no longer needed", DeprecationWarning)
        self.value = value

    def describe_to(self, description: Description) -> None:
        """Generates a description of the value."""
        description.append_description_of(self.value)