Add tests for jeb_utils.utils.bits_to_byte
This commit is contained in:
@@ -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)
|
||||||
Reference in New Issue
Block a user