File size: 769 Bytes
4484b8a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import pytest
import numpy as np
from sudoku.symetries import mat_sym
def test_same_output_under_rotation():
assert mat_sym.shape == (9 * 9 * 9, 16, 9 * 9 * 9)
arr1 = np.zeros((9, 9, 9))
arr1[0, 1, 2] = 1
arr1_sym = np.dot(mat_sym, arr1.reshape(9 * 9 * 9, -1)).reshape(9, 9, 9, -1)
arr2 = np.zeros((9, 9, 9))
arr2[1, 2, 3] = 1
arr2_sym = np.dot(mat_sym, arr2.reshape(9 * 9 * 9, -1)).reshape(9, 9, 9, -1)
assert arr1_sym.shape == (9, 9, 9, 16)
assert (arr1_sym[0, 1, 2] == arr2_sym[1, 2, 3]).all()
assert (arr1_sym[5, 1, 2] == arr2_sym[5, 2, 3]).all()
assert (arr1_sym[0, 1, 1] == arr2_sym[1, 2, 4]).all()
assert (arr1_sym[0, 5, 1] == arr2_sym[1, 8, 4]).all()
assert (arr1_sym[6, 5, 1] == arr2_sym[6, 8, 4]).all()
|