def _get_bit(self, coords): x, y = coords if x < 0: x += self.info.size if y < 0: y += self.info.size return self._get_pixel(tuples.add(self.info.canvas[:2], tuples.multiply((x, y), self.info.block_size)))
def _get_bit(self, coords): x, y = coords if x < 0: x += self.info.size if y < 0: y += self.info.size color = self.image.getpixel(tuples.add(self.info.canvas[:2], tuples.multiply((x, y), self.info.block_size))) return 1 if color < 128 else 0
def _get_bit(self, coords): # print('ImageScanner._get_bit: {}'.format(self._was_read)) x, y = coords if x < 0: x += self.info.size if y < 0: y += self.info.size return self._get_pixel( tuples.add(self.info.canvas[:2], tuples.multiply((x, y), self.info.block_size)))
def test_too_short_tuple(self): t = (-1, 0, 1, 2.5, 3) self.assertRaises(IndexError, lambda: tuples.multiply(t, ()))
def test_weird_multiplication(self): t = (-1, 0, 1, 2.5, 3) self.assertRaises(TypeError, lambda: tuples.multiply(t, 'hello')) self.assertRaises(TypeError, lambda: tuples.multiply(t, None))
def test_tuple(self): t = (-1, 0, 1, 2.5, 3) self.assertEqual((0, 0, 1.5, -2.5, 9), tuples.multiply(t, (0, 2, 1.5, -1, 3))) self.assertEqual(t, tuples.multiply(t, (1,) * 5)) self.assertEqual((0,) * 5, tuples.multiply(t, (0,) * 5))
def test_scalar(self): t = (-1, 0, 1, 2.5, 3) self.assertEqual((1, 0, -1, -2.5, -3), tuples.multiply(t, -1)) self.assertEqual((-1.5, 0, 1.5, 3.75, 4.5), tuples.multiply(t, 1.5)) self.assertEqual((0,) * 5, tuples.multiply(t, 0)) self.assertEqual(t, tuples.multiply(t, 1))
def test_tuple(self): t = (-1, 0, 1, 2.5, 3) self.assertEqual((0, 0, 1.5, -2.5, 9), tuples.multiply(t, (0, 2, 1.5, -1, 3))) self.assertEqual(t, tuples.multiply(t, (1, ) * 5)) self.assertEqual((0, ) * 5, tuples.multiply(t, (0, ) * 5))
def test_scalar(self): t = (-1, 0, 1, 2.5, 3) self.assertEqual((1, 0, -1, -2.5, -3), tuples.multiply(t, -1)) self.assertEqual((-1.5, 0, 1.5, 3.75, 4.5), tuples.multiply(t, 1.5)) self.assertEqual((0, ) * 5, tuples.multiply(t, 0)) self.assertEqual(t, tuples.multiply(t, 1))