def test_count(self): self.assertTrue(self.bitstring.count() == 4) self.assertTrue( bitstrings.BitString(0, len(self.bitstring)).count() == 0) self.assertTrue( bitstrings.BitString(-1, len(self.bitstring)).count() == len( self.bitstring))
def test_crossover_template_with_block_size(self): """Do I preserve the blocks on crossover?""" for block_size in range( 1, int(math.floor((len(self.bitstring) - 1) / 2)) + 1, 1): print("Checking for block size = %d" % (block_size)) template = bitstrings.BitString.crossover_template( len(self.bitstring), block_size, 2) for init_of_block in range(0, len(self.bitstring), block_size): a_block = template[init_of_block:init_of_block + block_size] self.assertTrue( (a_block == bitstrings.BitString(bits=[True] * len(a_block))) or (a_block == bitstrings.BitString(bits=[False] * len(a_block))))
def setUp(self): if self.use_numpy: bitstrings.use_numpy() else: bitstrings.use_pure_python() self.bitstring = bitstrings.BitString('10010101') # 149
def test_any(self): self.assertTrue(self.bitstring.any()) self.assertFalse(bitstrings.BitString(0, len(self.bitstring)).any()) self.assertTrue(bitstrings.BitString(-1, len(self.bitstring)).any())
def test_from_string(self): self.assertTrue( bitstrings.BitString(str(self.bitstring)) == self.bitstring)
def test_from_int(self): bitstring = bitstrings.BitString(149, 8) self.assertTrue(self.bitstring == bitstring)
def test_plus(self): self.assertEqual( self.bitstring + ~self.bitstring, bitstrings.BitString(list(self.bitstring) + list(~self.bitstring)))
def test_xor(self): mask = bitstrings.BitString.random(len(self.bitstring)) self.assertEqual(mask ^ mask, bitstrings.BitString([0] * len(self.bitstring))) self.assertEqual(self.bitstring, (self.bitstring ^ mask) ^ mask)
def test_or(self): self.assertEqual(self.bitstring, self.bitstring | self.bitstring) self.assertEqual(self.bitstring | ~self.bitstring, bitstrings.BitString([1] * len(self.bitstring)))
def test_and(self): self.assertEqual(self.bitstring, self.bitstring & self.bitstring) self.assertEqual(self.bitstring & ~self.bitstring, bitstrings.BitString([0] * len(self.bitstring)))