Files
homeassistant-core/tests/util/test_variance.py
T

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

2022-08-29 20:45:27 -04:00
"""Test variance method."""
2022-08-29 20:45:27 -04:00
from datetime import datetime, timedelta
import pytest
from homeassistant.util.variance import ignore_variance
@pytest.mark.parametrize(
2023-02-15 14:09:50 +01:00
("value_1", "value_2", "variance", "expected"),
2022-08-29 20:45:27 -04:00
[
(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:
2022-08-29 20:45:27 -04:00
"""Test ignore_variance."""
with_ignore = ignore_variance(lambda x: x, variance)
assert with_ignore(value_1) == value_1
assert with_ignore(value_2) == expected