def testInitialization(self):
     i = '3 2\n'
     i += '1 1 1\n'
     i += '1 0 1\n'
     i += '1 1 1\n'
     i += '0 + 3\n'
     i += '1 + 15\n'
     
     s = Solver()
     s.initialize(i)
     
     cage = s.cages[0]
     self.assertEqual(len(cage.cells), 1)
     self.assertIn([1,1], cage.cells)
     self.assertEqual(cage.op, Op.ADDITION)
     self.assertEqual(cage.value, 3)
     
     cage = s.cages[1]
     self.assertEqual(len(cage.cells), 8)
     self.assertIn([0,0], cage.cells)
     self.assertIn([0,1], cage.cells)
     self.assertIn([0,2], cage.cells)
     self.assertIn([1,0], cage.cells)
     self.assertIn([1,2], cage.cells)
     self.assertIn([2,0], cage.cells)
     self.assertIn([2,1], cage.cells)
     self.assertIn([2,2], cage.cells)
     self.assertEqual(cage.op, Op.ADDITION)
     self.assertEqual(cage.value, 15)
Exemple #2
0
    def testInitialization(self):
        i = '3 2\n'
        i += '1 1 1\n'
        i += '1 0 1\n'
        i += '1 1 1\n'
        i += '0 + 3\n'
        i += '1 + 15\n'

        s = Solver()
        s.initialize(i)

        cage = s.cages[0]
        self.assertEqual(len(cage.cells), 1)
        self.assertIn([1, 1], cage.cells)
        self.assertEqual(cage.op, Op.ADDITION)
        self.assertEqual(cage.value, 3)

        cage = s.cages[1]
        self.assertEqual(len(cage.cells), 8)
        self.assertIn([0, 0], cage.cells)
        self.assertIn([0, 1], cage.cells)
        self.assertIn([0, 2], cage.cells)
        self.assertIn([1, 0], cage.cells)
        self.assertIn([1, 2], cage.cells)
        self.assertIn([2, 0], cage.cells)
        self.assertIn([2, 1], cage.cells)
        self.assertIn([2, 2], cage.cells)
        self.assertEqual(cage.op, Op.ADDITION)
        self.assertEqual(cage.value, 15)
Exemple #3
0
    def testInvalidOperations(self):
        i = '3 2\n'
        i += '1 1 1\n'
        i += '1 0 1\n'
        i += '1 1 1\n'
        i += '0 ^ 3\n'
        i += '1 + 15\n'

        try:
            s = Solver()
            s.initialize(i)
            self.assertTrue(False, 'Unknown operation')
        except InputError:
            pass
 def testInvalidOperations(self):
     i = '3 2\n'
     i += '1 1 1\n'
     i += '1 0 1\n'
     i += '1 1 1\n'
     i += '0 ^ 3\n'
     i += '1 + 15\n'
     
     try:
         s = Solver()
         s.initialize(i)
         self.assertTrue(False, 'Unknown operation')
     except InputError:
         pass
Exemple #5
0
    def testAllCageCellsMustBeAttached(self):
        i = '4 2\n'
        i += '0 0 0 1\n'
        i += '1 1 1 0\n'
        i += '1 1 1 1\n'
        i += '1 1 1 1\n'
        i += '0 + 7\n'
        i += '1 + 33\n'

        try:
            s = Solver()
            s.initialize(i)
            self.assertTrue(False, 'Cage cells are not attached')
        except InputError:
            pass
Exemple #6
0
    def testCagesMustMatchCageCount(self):
        i = '4 3\n'
        i += '0 0 0 0\n'
        i += '1 1 1 1\n'
        i += '1 1 1 1\n'
        i += '1 1 1 1\n'
        i += '0 + 10\n'
        i += '1 + 30\n'

        try:
            s = Solver()
            s.initialize(i)
            self.assertTrue(False, 'Cage count does not match')
        except InputError:
            pass
Exemple #7
0
    def testBoardMustMatchBoardSize(self):
        i = '5 2\n'
        i += '0 0 0 0\n'
        i += '1 1 1 1\n'
        i += '1 1 1 1\n'
        i += '1 1 1 1\n'
        i += '0 + 10\n'
        i += '1 + 30\n'

        try:
            s = Solver()
            s.initialize(i)
            self.assertTrue(False, 'Board size does not match')
        except InputError:
            pass
 def testAllCageCellsMustBeAttached(self):
     i = '4 2\n'
     i += '0 0 0 1\n'
     i += '1 1 1 0\n'
     i += '1 1 1 1\n'
     i += '1 1 1 1\n'
     i += '0 + 7\n'
     i += '1 + 33\n'
     
     try:
         s = Solver()
         s.initialize(i)
         self.assertTrue(False, 'Cage cells are not attached')
     except InputError:
         pass
 def testCagesMustMatchCageCount(self):
     i = '4 3\n'
     i += '0 0 0 0\n'
     i += '1 1 1 1\n'
     i += '1 1 1 1\n'
     i += '1 1 1 1\n'
     i += '0 + 10\n'
     i += '1 + 30\n'
     
     try:
         s = Solver()
         s.initialize(i)
         self.assertTrue(False, 'Cage count does not match')
     except InputError:
         pass
 def testBoardMustMatchBoardSize(self):
     i = '5 2\n'
     i += '0 0 0 0\n'
     i += '1 1 1 1\n'
     i += '1 1 1 1\n'
     i += '1 1 1 1\n'
     i += '0 + 10\n'
     i += '1 + 30\n'
     
     try:
         s = Solver()
         s.initialize(i)
         self.assertTrue(False, 'Board size does not match')
     except InputError:
         pass
Exemple #11
0
    def setUp(self):
        i = '4 6\n'
        i += '0 0 0 1\n'
        i += '2 2 3 1\n'
        i += '4 2 1 1\n'
        i += '4 2 5 5\n'
        i += '0 * 24\n'
        i += '1 + 10\n'
        i += '2 * 24\n'
        i += '3 + 1\n'
        i += '4 - 1\n'
        i += '5 / 4\n'
        '''
        Solution:
        
        '''

        s = Solver()
        s.initialize(i)

        self.boardSize = s.boardSize
        self.cages = s.cages
 def setUp(self):
     i = '4 6\n'
     i += '0 0 0 1\n'
     i += '2 2 3 1\n'
     i += '4 2 1 1\n'
     i += '4 2 5 5\n'
     i += '0 * 24\n'
     i += '1 + 10\n'
     i += '2 * 24\n'
     i += '3 + 1\n'
     i += '4 - 1\n'
     i += '5 / 4\n'
     
     '''
     Solution:
     
     '''
     
     s = Solver()
     s.initialize(i)
     
     self.boardSize = s.boardSize
     self.cages = s.cages