def test_neighbors(self): initial_state = State(np.array([[1, 2, 3], [4, 0, 6], [7, 5, 8]])) up_state = State(np.array([[1, 0, 3], [4, 2, 6], [7, 5, 8]])) right_state = State(np.array([[1, 2, 3], [4, 6, 0], [7, 5, 8]])) down_state = State(np.array([[1, 2, 3], [4, 5, 6], [7, 0, 8]])) left_state = State(np.array([[1, 2, 3], [0, 4, 6], [7, 5, 8]])) neighbors = initial_state.neighbors() self.assertTrue( np.all( np.array([x.tile_seq for x in neighbors]) == np.array( [ right_state.tile_seq, left_state.tile_seq, up_state.tile_seq, down_state.tile_seq, ] ) ) )