def _testFlipBytes(self, bytes_to_flip, value_len): value = b'\x00' * value_len nf_count = value_len - bytes_to_flip expected_mutations = map(lambda i: b'\x00' * (nf_count - i) + b'\xff' * bytes_to_flip + b'\x00' * (i), range(nf_count + 1)) uut = ByteFlip(value=value, num_bytes=bytes_to_flip) self.assertEqual(uut.num_mutations(), value_len - bytes_to_flip + 1) mutations = map(lambda x: x.tobytes(), self.get_all_mutations(uut)) self.assertEqual(set(mutations), set(expected_mutations))
def _testFlipBytes(self, bytes_to_flip, value_len): value = '\x00' * value_len nf_count = value_len - bytes_to_flip expected_mutations = map(lambda i: '\x00' * (nf_count - i) + '\xff' * bytes_to_flip + '\x00' * (i), range(nf_count + 1)) uut = ByteFlip(value=value, num_bytes=bytes_to_flip) self.assertEqual(uut.num_mutations(), value_len - bytes_to_flip + 1) mutations = map(lambda x: x.tobytes(), self.get_all_mutations(uut)) self.assertEqual(set(mutations), set(expected_mutations))
def testFuzzableIsFalse(self): uut = ByteFlip(b'\x00\x00\x00\x00', num_bytes=2, fuzzable=False) self.assertEqual(uut.num_mutations(), 0) self.assertEqual(self.get_all_mutations(uut), [])
def get_field(self, value=b'\x00\x00\x00\x00'): return ByteFlip(value=value, num_bytes=1)
def testExceptionIfNumOfBitsIsNegative(self): with self.assertRaises(KittyException): value = b'\x00' ByteFlip(value=value, num_bytes=-1)
def testExceptionIfNumOfBytesIsBiggerThanValue(self): with self.assertRaises(KittyException): value = b'\x00' max_len = len(value) ByteFlip(value=value, num_bytes=max_len + 1)