Files
evilnkode/tests/test_keypad.py
2025-09-09 18:22:22 +00:00

35 lines
907 B
Python

import pytest
import numpy as np
from src.keypad.keypad import (
RandomSplitShuffleKeypad,
RandomShuffleKeypad,
SlidingSplitShuffleKeypad,
SlidingTowerShuffleKeypad,
)
def test_key_entry():
keypad = RandomShuffleKeypad(
keypad=np.array([
[8, 9, 10, 11],
[0, 5, 2, 3],
[4, 1, 6, 7]
]), k=3, p=4)
assert keypad.key_entry([8, 5, 6, 11]) == [0, 1, 2, 0]
@pytest.mark.parametrize(
"keypad_type, number_of_keys, properties_per_key",
[
(RandomShuffleKeypad, 3, 4),
(RandomSplitShuffleKeypad, 3, 4),
(SlidingTowerShuffleKeypad, 3, 4),
(SlidingSplitShuffleKeypad, 3, 4),
]
)
def test_keypad_shuffle(keypad_type, number_of_keys, properties_per_key):
keypad = keypad_type.new_keypad(number_of_keys, properties_per_key)
print(keypad.keypad)
keypad.shuffle()
print(keypad.keypad)