28 lines
875 B
Python
28 lines
875 B
Python
from src.jeb_utils.utils import byte_to_bits
|
|
import pytest
|
|
|
|
@pytest.mark.parametrize('b,expected', [
|
|
(b'\x00', (0, 0, 0, 0, 0, 0, 0, 0)),
|
|
(b'\x01', (0, 0, 0, 0, 0, 0, 0, 1)),
|
|
(b'\x80', (1, 0, 0, 0, 0, 0, 0, 0)),
|
|
(b'\xf0', (1, 1, 1, 1, 0, 0, 0, 0)),
|
|
(b'\xff', (1, 1, 1, 1, 1, 1, 1, 1)),
|
|
])
|
|
def test_byte_to_bits(b, expected):
|
|
assert byte_to_bits(b) == expected
|
|
|
|
@pytest.mark.parametrize('b,expected_exception', [
|
|
(b'\x00\x00', ValueError),
|
|
(b'\x00\x01', ValueError),
|
|
(b'\x01\x00', ValueError),
|
|
(b'\xff\xff', ValueError),
|
|
(b'\xff\x00', ValueError),
|
|
(b'\x00\xff', ValueError),
|
|
(b'\x42\x2a', ValueError),
|
|
(b'\x00\x42\x2a', ValueError),
|
|
(b'\x25\x42\x2a', ValueError),
|
|
(b'Hello, World!', ValueError),
|
|
])
|
|
def test_byte_to_bits(b, expected_exception):
|
|
with pytest.raises(expected_exception):
|
|
byte_to_bits(b) |