Beispiel #1
0
 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'))
Beispiel #2
0
    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')
Beispiel #3
0
 def test_nullable_coder(self):
     self.check_coder(coders.NullableCoder(coders.VarIntCoder()), None,
                      2 * 64)