def test_to_indicator(self):
        """
        Test the problem matrix generated by the Problem
        """
        N = self.N
        num = randint(1, N)
        pos = randint(0, N**2 - 1)
        sudoku = make_problem(chr(ord('0') + num), pos)

        iv = sudoku.to_indicator_vector()
        self.assertTrue(isinstance(iv, matrix))
        self.assertEqual((N**3, 1), iv.size)
        self.assertEqual(1, sum(iv))
        self.assertEqual(N * pos + num - 1, list(iv).index(1))

        s2 = Problem.from_indicator_vector(iv)

        self.assertEqual(unicode(sudoku), unicode(s2))
Exemple #2
0
    def test_to_indicator(self):
        """
        Test the problem matrix generated by the Problem
        """
        N = self.N
        num = randint(1,N)
        pos = randint(0,N**2-1)
        sudoku = make_problem(chr(ord('0') + num), pos)
        
        iv = sudoku.to_indicator_vector()
        self.assertTrue(isinstance(iv ,matrix ))
        self.assertEqual((N**3,1), iv.size)
        self.assertEqual(1, sum(iv))
        self.assertEqual(N*pos+num-1, list(iv).index(1))

        s2 = Problem.from_indicator_vector(iv)
        
        self.assertEqual(unicode(sudoku),unicode(s2))