Esempio n. 1
0
 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)
Esempio n. 2
0
    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())
Esempio n. 3
0
    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())
Esempio n. 4
0
 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')
Esempio n. 5
0
 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'))
Esempio n. 6
0
 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)
Esempio n. 7
0
    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)
Esempio n. 8
0
    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())