def test_strip2(self): for a in self.randombitarrays(): b = a.copy() s = a.to01() self.assertEqual(strip(a, 'left'), bitarray(s.lstrip('0'))) self.assertEqual(strip(a, 'right'), bitarray(s.rstrip('0'))) self.assertEqual(strip(a, 'both'), bitarray(s.strip('0'))) self.assertEQUAL(a, b)
def test_strip1(self): self.assertRaises(TypeError, strip, bitarray(), 123) self.assertRaises(ValueError, strip, bitarray(), 'up') for endian in 'big', 'little': a = bitarray('00010110000', endian) self.assertEQUAL(strip(a), bitarray('0001011', endian)) self.assertEQUAL(strip(a, 'left'), bitarray('10110000', endian)) self.assertEQUAL(strip(a, 'both'), bitarray('1011', endian)) for mode in 'left', 'right', 'both': self.assertEqual(strip(bitarray('000'), mode), bitarray()) self.assertEqual(strip(bitarray(), mode), bitarray())
def test_zeros(self): for n in range(10): for mode in 'left', 'right', 'both': a = zeros(n) c = strip(a, mode) self.assertIsType(c, 'bitarray') self.assertEqual(c, bitarray()) self.assertEqual(a, zeros(n)) b = frozenbitarray(a) c = strip(b, mode) self.assertIsType(c, 'frozenbitarray') self.assertEqual(c, bitarray())
def test_simple(self): self.assertRaises(TypeError, strip, '0110') self.assertRaises(TypeError, strip, bitarray(), 123) self.assertRaises(ValueError, strip, bitarray(), 'up') for default_endian in 'big', 'little': _set_default_endian(default_endian) a = bitarray('00010110000') self.assertEQUAL(strip(a), bitarray('0001011')) self.assertEQUAL(strip(a, 'left'), bitarray('10110000')) self.assertEQUAL(strip(a, 'both'), bitarray('1011')) b = frozenbitarray('00010110000') c = strip(b, 'both') self.assertEqual(c, bitarray('1011')) self.assertIsType(c, 'frozenbitarray')
def test_strip_both(self): for _ in range(100): N = randint(1, 10000) a = bitarray(N) a.setall(0) a[randint(0, N - 1)] = 1 self.assertEqual(strip(a, 'both'), bitarray('1'))
def test_one_set(self): for _ in range(10): n = randint(1, 10000) a = bitarray(n) a.setall(0) a[randint(0, n - 1)] = 1 self.assertEqual(strip(a, 'both'), bitarray('1')) self.assertEqual(len(a), n)
def test_random(self): for a in self.randombitarrays(): b = a.copy() f = frozenbitarray(a) s = a.to01() for mode, res in [ ('left', bitarray(s.lstrip('0'), a.endian())), ('right', bitarray(s.rstrip('0'), a.endian())), ('both', bitarray(s.strip('0'), a.endian())), ]: c = strip(a, mode) self.assertEQUAL(c, res) self.assertIsType(c, 'bitarray') self.assertEQUAL(a, b) c = strip(f, mode) self.assertEQUAL(c, res) self.assertIsType(c, 'frozenbitarray') self.assertEQUAL(f, b)
def test_strip1(self): self.assertRaises(TypeError, strip, '0110') self.assertRaises(TypeError, strip, bitarray(), 123) self.assertRaises(ValueError, strip, bitarray(), 'up') for default_endian in 'big', 'little': _set_default_endian(default_endian) a = bitarray('00010110000') self.assertEQUAL(strip(a), bitarray('0001011')) self.assertEQUAL(strip(a, 'left'), bitarray('10110000')) self.assertEQUAL(strip(a, 'both'), bitarray('1011')) b = frozenbitarray('00010110000') self.assertEqual(strip(b, 'both'), bitarray('1011')) for mode in 'left', 'right', 'both': self.assertEqual(strip(bitarray('000'), mode), bitarray()) self.assertEqual(strip(bitarray(), mode), bitarray())