HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ns3133907 6.8.0-86-generic #87-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 18:03:36 UTC 2025 x86_64
User: cssnetorguk (1024)
PHP: 8.2.28
Disabled: NONE
Upload Files
File: //proc/self/root/lib/python3/dist-packages/hamcrest/core/core/isnone.py
from typing import Any, Optional

from hamcrest.core.base_matcher import BaseMatcher
from hamcrest.core.description import Description
from hamcrest.core.matcher import Matcher

from .isnot import is_not

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


class IsNone(BaseMatcher[Optional[Any]]):
    def _matches(self, item: Any) -> bool:
        return item is None

    def describe_to(self, description: Description) -> None:
        description.append_text("None")


def none() -> Matcher[Optional[Any]]:
    """Matches if object is ``None``."""
    return IsNone()


def not_none() -> Matcher[Optional[Any]]:
    """Matches if object is not ``None``."""
    return is_not(none())