def testHashTheSameAfterReset(self): container = Pad(pad_length=10 * 8, fields=String('abc'), pad_data='\xff') hash_after_creation = container.hash() container.mutate() hash_after_mutate = container.hash() self.assertEqual(hash_after_creation, hash_after_mutate) container.reset() hash_after_reset = container.hash() self.assertEqual(hash_after_creation, hash_after_reset) while container.mutate(): hash_after_mutate_all = container.hash() self.assertEqual(hash_after_creation, hash_after_mutate_all) container.render() hash_after_render_all = container.hash() self.assertEqual(hash_after_creation, hash_after_render_all)
def testDifferentHashIfPadDataIsDifferend(self): pad1 = Pad(pad_length=10 * 8, fields=String('abc'), pad_data='\x00') pad2 = Pad(pad_length=10 * 8, fields=String('abc'), pad_data='\xff') self.assertNotEqual(pad1.hash(), pad2.hash())
def testHashTheSameForTwoSimilarObjects(self): pad1 = Pad(pad_length=10 * 8, fields=String('abc'), pad_data='\xff') pad2 = Pad(pad_length=10 * 8, fields=String('abc'), pad_data='\xff') self.assertEqual(pad1.hash(), pad2.hash())