test_encode_hook.py 473 B

123456789101112131415161718
  1. import datetime
  2. from pytest import raises
  3. from erlpack import ErlangTermEncoder
  4. def test_encode_hook():
  5. def encode_hook(obj):
  6. if isinstance(obj, datetime.datetime):
  7. return obj.isoformat()
  8. encoder = ErlangTermEncoder(encode_hook=encode_hook)
  9. assert encoder.pack(datetime.datetime(2015, 12, 25, 12, 23, 55)) == '\x83m\x00\x00\x00\x132015-12-25T12:23:55'
  10. with raises(NotImplementedError):
  11. encoder.pack(datetime.date.today())