Source code for stupidb.tests.test_protocols

from __future__ import annotations

from stupidb.protocols import Comparable


[docs]class CustomComparable(Comparable): def __init__(self, value: float) -> None: self.value = value def __eq__(self, other: object) -> bool: if not isinstance(other, CustomComparable): return NotImplemented return self.value == other.value def __lt__(self, other: CustomComparable) -> bool: return self.value < other.value
def test_comparable_implements_methods_eq() -> None: comp = CustomComparable(1.0) comp2 = CustomComparable(1.0) assert comp == comp2 assert not (comp != comp2) assert not (comp < comp2) assert not (comp > comp2) assert comp <= comp2 assert comp >= comp2 def test_comparable_implements_methods_ne() -> None: comp = CustomComparable(1.0) comp2 = CustomComparable(2.0) assert comp != comp2 assert comp < comp2 assert comp <= comp2 assert not (comp == comp2) assert not (comp > comp2) assert not (comp >= comp2)