update evilnkode.ipynb tests

This commit is contained in:
2025-12-03 10:18:15 -06:00
parent e24fe3b512
commit 86ccd0fe31
3 changed files with 167 additions and 29 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,7 @@
from dataclasses import dataclass from dataclasses import dataclass
import numpy as np import numpy as np
@dataclass @dataclass
class Tower: class Tower:
floors: list[np.ndarray] floors: list[np.ndarray]
@@ -28,7 +29,6 @@ class Tower:
balance[odd_floors] = 1 balance[odd_floors] = 1
return balance.tolist() return balance.tolist()
def update_tower(self, keep: np.ndarray, other_discard: np.ndarray): def update_tower(self, keep: np.ndarray, other_discard: np.ndarray):
new_floors = [] new_floors = []
for floor in self.floors: for floor in self.floors:
@@ -51,8 +51,10 @@ class Tower:
tower.extend(floor.tolist()) tower.extend(floor.tolist())
return tower return tower
@dataclass @dataclass
class TowerShuffle: class TowerShuffle:
# TODO: I don't think total_positions is used anywhere
total_positions: int total_positions: int
left_tower: Tower left_tower: Tower
right_tower: Tower right_tower: Tower

View File

@@ -1,7 +1,8 @@
from src.keypad.tower_shuffle import TowerShuffle from src.keypad.tower_shuffle import TowerShuffle
def test_tower_shuffle(): def test_tower_shuffle():
tower = TowerShuffle.new(9) tower = TowerShuffle.new(13)
print(tower) print(tower)
for _ in range(100): for _ in range(100):
tower.shuffle() tower.shuffle()