esphome/tests/unit_tests/strategies.py
2022-10-05 20:09:27 +13:00

15 lines
494 B
Python

import hypothesis.strategies._internal.core as st
from hypothesis.strategies._internal.strategies import SearchStrategy
@st.defines_strategy(force_reusable_values=True)
def mac_addr_strings() -> SearchStrategy[str]:
"""A strategy for MAC address strings.
This consists of six strings representing integers [0..255],
without zero-padding, joined by dots.
"""
return st.builds(
"{:02X}:{:02X}:{:02X}:{:02X}:{:02X}:{:02X}".format, *(6 * [st.integers(0, 255)])
)