def test_validation(self) -> None: field = gateaux.BinaryField() self.assertEqual(field.pack(b'test'), b'test') field = gateaux.BinaryField(max_length=3) self.assertEqual(field.max_length, 3) with self.assertRaises(gateaux.errors.ValidationError): field.pack(b'test')
class ValidTestStructure(gateaux.Structure): key = ( gateaux.BinaryField(), gateaux.BinaryField(), ) value = ( gateaux.BinaryField(), gateaux.BinaryField(), )
class EmptyKeyTestStructure(gateaux.Structure): key = () value = (gateaux.BinaryField(), )
class NoKeyTestStructure(gateaux.Structure): value = (gateaux.BinaryField(), )
class InvalidKeyTestStructure(gateaux.Structure): key = (gateaux.BinaryField(), object()) value = (gateaux.BinaryField(), )
class ValidTestStructure(gateaux.Structure): '''test doc string''' key = (gateaux.BinaryField(), ) value = (gateaux.BinaryField(), )
class NamedStructure(gateaux.Structure): key = (gateaux.BinaryField(), gateaux.BinaryField()) value = (gateaux.BinaryField(name='value1'), gateaux.BinaryField(name='value2'))
class NoNamesStructure(gateaux.Structure): key = (gateaux.BinaryField(), gateaux.BinaryField()) value = (gateaux.BinaryField(), gateaux.BinaryField())
class EmptyValueTestStructure(gateaux.Structure): key = (gateaux.BinaryField(), gateaux.BinaryField()) value = ()
def test_constructor(self) -> None: field = gateaux.BinaryField() self.assertEqual(field.max_length, None) field = gateaux.BinaryField(max_length=12345) self.assertEqual(field.max_length, 12345)
def test_unpack(self) -> None: field = gateaux.BinaryField() with self.assertRaises(gateaux.errors.ValidationError): field.unpack('not bytes') # type: ignore self.assertEqual(field.unpack(b'test'), b'test')