hass-core/tests/util/test_variance.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

42 lines
1.1 KiB
Python
Raw Normal View History

"""Test variance method."""
from datetime import datetime, timedelta
import pytest
from homeassistant.util.variance import ignore_variance
@pytest.mark.parametrize(
("value_1", "value_2", "variance", "expected"),
[
(1, 1, 1, 1),
(1, 2, 2, 1),
(1, 2, 0, 2),
(2, 1, 0, 1),
(
datetime(2020, 1, 1, 0, 0),
datetime(2020, 1, 2, 0, 0),
timedelta(days=2),
datetime(2020, 1, 1, 0, 0),
),
(
datetime(2020, 1, 2, 0, 0),
datetime(2020, 1, 1, 0, 0),
timedelta(days=2),
datetime(2020, 1, 2, 0, 0),
),
(
datetime(2020, 1, 1, 0, 0),
datetime(2020, 1, 2, 0, 0),
timedelta(days=1),
datetime(2020, 1, 2, 0, 0),
),
],
)
2023-02-20 11:42:56 +01:00
def test_ignore_variance(value_1, value_2, variance, expected) -> None:
"""Test ignore_variance."""
with_ignore = ignore_variance(lambda x: x, variance)
assert with_ignore(value_1) == value_1
assert with_ignore(value_2) == expected