Source code for cis_interface.serialize.tests.test_AsciiTableSerialize

import copy
import numpy as np
from cis_interface.tests import assert_raises
from cis_interface import backwards
from cis_interface.serialize import AsciiTableSerialize
from cis_interface.serialize.tests import test_DefaultSerialize as parent


[docs]def test_serialize_nofmt(): r"""Test error on serialization without a format.""" inst = AsciiTableSerialize.AsciiTableSerialize() inst._initialized = True test_msg = np.zeros((5, 5)) assert_raises(RuntimeError, inst.serialize, test_msg)
[docs]def test_deserialize_nofmt(): r"""Test error on deserialization without a format.""" inst = AsciiTableSerialize.AsciiTableSerialize() test_msg = b'lskdbjs;kfbj' test_msg = inst.func_datatype.serialize(test_msg, metadata={}) assert_raises(RuntimeError, inst.deserialize, test_msg)
[docs]class TestAsciiTableSerialize(parent.TestDefaultSerialize): r"""Test class for AsciiTableSerialize class.""" _cls = 'AsciiTableSerialize' attr_list = (copy.deepcopy(parent.TestDefaultSerialize.attr_list), ['format_str', 'field_names', 'field_units', 'as_array'])
[docs] def test_field_specs(self): r"""Test field specifiers.""" super(TestAsciiTableSerialize, self).test_field_specs() # Specific to this class self.assert_equal(self.instance.format_str, self.testing_options['kwargs']['format_str']) field_names = self.testing_options['kwargs'].get('field_names', None) if field_names is not None: field_names = [backwards.as_str(x) for x in field_names] self.assert_equal(self.instance.field_names, field_names) field_units = self.testing_options['kwargs'].get('field_units', None) if field_units is not None: field_units = [backwards.as_str(x) for x in field_units] self.assert_equal(self.instance.field_units, field_units)
[docs]class TestAsciiTableSerializeSingle(parent.TestDefaultSerialize): r"""Test class for AsciiTableSerialize class.""" _cls = 'AsciiTableSerialize' _empty_obj = [] _objects = [(1, )] def __init__(self, *args, **kwargs): super(TestAsciiTableSerializeSingle, self).__init__(*args, **kwargs) self._inst_kwargs['format_str'] = b'%d\n'
[docs] def get_options(self): r"""Get testing options.""" out = {'kwargs': {'format_str': b'%d\n'}, 'empty': [], 'objects': [(1, )], 'extra_kwargs': {}, 'typedef': {'type': 'array', 'items': [{'type': 'int', 'precision': 32}]}, 'dtype': None, 'is_user_defined': False} return out
[docs]class TestAsciiTableSerialize_asarray(TestAsciiTableSerialize): r"""Test class for AsciiTableSerialize class with as_array.""" testing_option_kws = {'as_array': True}