refactor code and implement unit tests

This commit is contained in:
2024-05-29 07:18:30 -05:00
parent 4f3b37642f
commit 4fd3e6cc5a
16 changed files with 540 additions and 601 deletions

View File

@@ -0,0 +1,47 @@
from src.models import OuterKey, InnerKey, AlphabetKey
height = 10
width = 7
a0 = AlphabetKey.init_matrix(width, height, 255)
o0 = OuterKey.init_matrix(height)
i0 = InnerKey.init_matrix(width, height)
i1 = InnerKey.init_matrix(width, height)
i2 = InnerKey.init_matrix(width, height)
a0_i0_o0_v0 = a0 << (i0 < o0)
a0_i0_o0_v1 = ((a0 < ~o0) << i0) < o0
print(a0_i0_o0_v0 == a0_i0_o0_v1)
a0_o0_i0_v0 = (a0 < o0) << i0
a0_o0_i0_v1 = (a0 << (i0 < ~o0)) < o0
print(a0_i0_o0_v0 == a0_i0_o0_v1)
a0_o0_i0_v0 = (a0 < o0) << i0
a0_o0_i0_v1 = (a0 << (i0 < ~o0)) < o0
print(a0_o0_i0_v0 == a0_o0_i0_v1)
n_i0_i1 = ~(i0 << i1)
ni1_ni0 = ~i1 << ~i0
print(ni1_ni0 == n_i0_i1)
i0_i1_i2_v0 = i0 << i1 << i2
i0_i1_i2_v1 = i0 << (i1 << i2)
i0_i1_i2_v2 = (i0 << i1) << i2
print(i0_i1_i2_v0 == i0_i1_i2_v1 == i0_i1_i2_v2)
i0_i2_i1 = i0 << i2 << i1
#print(i0_i2_i1 == i0_i1_i2_v0)
print(i0 == i0_i2_i1 << ~(i2 << i1))
print(i0 == i0_i2_i1 << ~i1 << ~i2)