示例#1
0
    def test_mask_formula_correctness(self):
        mask_samples = {
            0: '1010101010101010101010101010101010101010101010101',
            1: '1111111000000011111110000000111111100000001111111',
            2: '1001001100100110010011001001100100110010011001001',
            3: '1001001001001001001001001001001001001001001001001',
            4: '1110001111000100011100001110111000111100010001110',
            5: '1111111100000110010011010101100100110000011111111',
            6: '1111111111000111011011010101101101110001111111111',
            7: '1010101000111010001110101010111000101110001010101',
        }

        for mask_id in range(8):
            mask_func = get_mask_func(mask_id)
            mask_result = ''
            for i in range(7):
                for j in range(7):
                    mask_result += '1' if mask_func(i, j) else '0'
            self.assertEqual(mask_samples[mask_id], mask_result)
示例#2
0
 def test_nonexistent_masks(self):
     self.assertRaisesMsg(QrFormatError, lambda: get_mask_func(-1), 'Bad mask pattern: -1')
     self.assertRaisesMsg(QrFormatError, lambda: get_mask_func(8), 'Bad mask pattern: 8')
示例#3
0
 def get_mask(self):
     print('ImageScanner.get_mask: {}'.format(self._was_read))
     mask_func = get_mask_func(self.info.mask_id)
     return {(x, y): 1 if mask_func(y, x) else 0
             for x in range(self.info.size) for y in range(self.info.size)}
示例#4
0
 def test_mask_bounds(self):
     for mask_id in range(8):
         mask_func = get_mask_func(mask_id)
         for i in range(177):
             for j in range(177):
                 self.assertIn(mask_func(i, j), (0, 1))
示例#5
0
文件: scanner.py 项目: Artanidos/THX
 def get_mask(self):
     mask_func = get_mask_func(self.info.mask_id)
     return {(x, y): 1 if mask_func(y, x) else 0 for x in range(self.info.size) for y in range(self.info.size)}