def test_encode_erlang(self): obj = OpaqueObject(b"data", Atom(b"erlang")) self.assertEqual(b"data", obj.encode())
def test_decode_python(self): data = OpaqueObject.decode(dumps(b"test"), Atom(b"python")) self.assertEqual(b"test", data)
def test_encode(self): obj = OpaqueObject(b"data", Atom(b"language")) term = Atom(b"$erlport.opaque"), Atom(b"language"), b"data" self.assertEqual(erlterms.encode_term(term), obj.encode())
def test_decode(self): obj = OpaqueObject.decode(b"data", Atom(b"language")) self.assertEqual(b"data", obj.data) self.assertEqual(b"language", obj.language)
def test_comparison(self): obj = OpaqueObject(b"data", Atom(b"language")) self.assertEqual(obj, obj) self.assertEqual(obj, OpaqueObject(b"data", Atom(b"language"))) self.assertNotEqual(obj, OpaqueObject(b"data", Atom(b"language2"))) self.assertNotEqual(obj, OpaqueObject(b"data2", Atom(b"language")))
def test_encode_opaque_object(self): self.assertEqual( b"\x83h\3d\0\x0f$erlport.opaqued\0\10language" b"m\0\0\0\4data", encode(OpaqueObject(b"data", Atom(b"language")))) self.assertEqual(b"\x83data", encode(OpaqueObject(b"data", Atom(b"erlang"))))