Add tests for jeb_utils.utils.bits_to_byte

This commit is contained in:
2026-04-02 13:49:47 +02:00
parent 2395691e5c
commit 33e6f0adb9
+35
View File
@@ -0,0 +1,35 @@
from src.jeb_utils.utils import bits_to_byte
import pytest
@pytest.mark.parametrize('bits,expected', [
((), b'\x00'),
((0,), b'\x00'),
((0, 0), b'\x00'),
((0, 0, 0, 0, 0, 0, 0, 0), b'\x00'),
((1,), b'\x01'),
((0, 1), b'\x01'),
((0, 0, 0, 0, 0, 0, 0, 1), b'\x01'),
((0, 0, 0, 0, 1, 0, 0, 1), b'\x09'),
((1, 0, 0, 1), b'\x09'),
((1, 1, 1, 1, 1, 1, 1), b'\x7f'),
((0, 1, 1, 1, 1, 1, 1, 1), b'\x7f'),
((1, 1, 1, 1, 1, 1, 1, 1), b'\xff'),
])
def test_bits_to_byte(bits, expected):
assert bits_to_byte(*bits) == expected
@pytest.mark.parametrize('bits,expected_exception', [
((2,), ValueError),
((0, 0, 0, 0, 0, 0, 0, 0, 0), ValueError),
((0, 0, 0, 0, 0, 0, 0, 0, 1), ValueError),
((1, 0, 0, 0, 0, 0, 0, 0, 0), ValueError),
((1, 1, 1, 1, 1, 1, 1, 1, 1), ValueError),
((1, 1, 1, 1, 1, 1, 1, 2), ValueError),
((1, 1, 1, 1, 1, 1, 1, -1), ValueError),
((3, 3, 3, 3, 3, 3, 3, 3), ValueError),
((3, 3, 3, 3, 3, 3), ValueError),
((3, 3, 3, 3, 3, 3, 1, 0), ValueError),
])
def test_bits_to_byte_exceptions(bits, expected_exception):
with pytest.raises(expected_exception):
bits_to_byte(*bits)