forked from M-Labs/artiq
test: add serialization
This commit is contained in:
parent
4c7749bd01
commit
044756287f
36
test/serialization.py
Normal file
36
test/serialization.py
Normal file
@ -0,0 +1,36 @@
|
||||
import unittest
|
||||
import json
|
||||
from fractions import Fraction
|
||||
|
||||
import numpy as np
|
||||
|
||||
from artiq.management import pyon
|
||||
|
||||
|
||||
_pyon_test_object = {
|
||||
(1, 2): [(3, 4.2), (2, )],
|
||||
Fraction(3, 4): np.linspace(5, 10, 1)
|
||||
}
|
||||
|
||||
|
||||
class PYON(unittest.TestCase):
|
||||
def test_encdec(self):
|
||||
for enc in pyon.encode, lambda x: pyon.encode(x, True):
|
||||
self.assertEqual(pyon.decode(enc(_pyon_test_object)),
|
||||
_pyon_test_object)
|
||||
|
||||
|
||||
_json_test_object = {
|
||||
"a": "b",
|
||||
"x": [1, 2, {}],
|
||||
"foo\nbaz\\qux\"": ["bar", 1.2, {"x": "y"}],
|
||||
"bar": [True, False, None]
|
||||
}
|
||||
|
||||
|
||||
class JSONPYON(unittest.TestCase):
|
||||
def test_encdec(self):
|
||||
for enc in pyon.encode, lambda x: pyon.encode(x, True), json.dumps:
|
||||
for dec in pyon.decode, json.loads:
|
||||
self.assertEqual(dec(enc(_json_test_object)),
|
||||
_json_test_object)
|
Loading…
Reference in New Issue
Block a user