def _2_byte_container(self): container = BinaryContainerTemplate('foo', None) container.add(Binary(1, 'oneBit', 1)) container.add(Binary(3, 'threeBits', 7)) container.add(Binary(12, 'twelveBits', 4095)) return container
def test_verify_only_binary_field_passes(self): container = BinaryContainerTemplate('foo', None) container.add(Binary(1, 'oneBit', None)) self.assertRaises(AssertionError, container.add, UInt(2, 'intsNotAllowed', None))
def _1_byte_container(self): container = BinaryContainerTemplate('foo', None) container.add(Binary(4, 'spare', 0)) container.add(Binary(4, 'value', 1)) return container
def test_verify_single_byte_field_length_passes(self): container = BinaryContainerTemplate('foo', None) container.add(Binary(4, 'firstFour', None)) container.add(Binary(4, 'lastFour', None)) container.verify()
def test_verify_multi_byte_field_length_passes(self): container = BinaryContainerTemplate('foo', None) for length, name in zip([4, 4, 5, 3, 1, 3, 12], ['a', 'b', 'c', 'd', 'e', 'f', 'g']): container.add(Binary(length, name, None)) container.verify()
def test_verify_field_length_fails(self): container = BinaryContainerTemplate('foo', None) container.add(Binary(3, 'threeBits', None)) self.assertRaises(AssertionError, container.verify)