def test_nullable_coder(self): expected_coder = coders.NullableCoder(coders.BytesCoder()) real_coder = typecoders.registry.get_coder(typehints.Optional(bytes)) self.assertEqual(expected_coder, real_coder) self.assertEqual(expected_coder.encode(None), real_coder.encode(None)) self.assertEqual(expected_coder.encode(b'abc'), real_coder.encode(b'abc'))
def test_determinism(self): deterministic = coders_registry.get_coder(typehints.Optional[int]) deterministic.as_deterministic_coder('label') complex_deterministic = coders_registry.get_coder( typehints.Optional[DummyClass]) complex_deterministic.as_deterministic_coder('label') nondeterministic = coders.NullableCoder(coders.Base64PickleCoder()) with pytest.raises(ValueError): nondeterministic.as_deterministic_coder('label')
def test_nullable_coder(self): self.check_coder(coders.NullableCoder(coders.VarIntCoder()), None, 2 * 64)