Ejemplo n.º 1
0
 def test_dict_numbered_keys(self):
     """ Asserts dict with numbered keys
     """
     obj = {1: 1, 2: 2}
     type_ = DictType()
     encoding = type_.encode(obj, encode)
     decoding = decode(encoding)
     self.assertDictEqual(obj, decoding)
Ejemplo n.º 2
0
    def test_tuple(self):
        """ Asserts tuple type is handled as expected
        """
        obj = (1, 2)
        type_ = TupleType()
        encoding = type_.encode(obj, encode)
        decoding = decode(encoding)

        self.assertEqual(obj, decoding)
Ejemplo n.º 3
0
    def test_set(self):
        """ Asserts set type is handled as expected
        """
        obj = {1, 2}
        type_ = SetType()
        encoding = type_.encode(obj, encode)
        decoding = decode(encoding)

        self.assertEqual(obj, decoding)
Ejemplo n.º 4
0
    def test_timedelta(self):
        """ Asserts timedelta type is handled as expected
        """
        obj = timedelta(days=1, seconds=2, microseconds=3)
        type_ = TimedeltaType()
        encoding = type_.encode(obj, encode)
        decoding = decode(encoding)

        self.assertEqual(obj, decoding)
Ejemplo n.º 5
0
    def test_bytearray(self):
        """ Asserts bytearray type is handled as expected
        """
        obj = bytearray([1, 2, 3])
        type_ = ByteArrayType()
        encoding = type_.encode(obj, encode)
        decoding = decode(encoding)

        self.assertEqual(obj, decoding)
Ejemplo n.º 6
0
    def test_string_encoding_as_bytes(self):
        """ Asserts an encoded string can be encoded/decoded accordingly
        """
        obj = "some string".encode()
        type_ = BytesType()
        encoding = type_.encode(obj, encode)
        decoding = decode(encoding)

        self.assertEqual(obj, decoding)
Ejemplo n.º 7
0
    def test_list(self):
        """ Asserts list type is handled as expected
        """
        obj = [1, 2, "some text"]
        type_ = ListType()
        encoding = type_.encode(obj, encode)
        decoding = decode(encoding)

        self.assertEqual(obj, decoding)
Ejemplo n.º 8
0
    def test_datetime(self):
        """ Asserts datetime type is handled as expected
        """
        obj = datetime(year=1, month=2, day=3,
                       hour=4, minute=5, second=6, microsecond=7)
        type_ = DatetimeType()
        encoding = type_.encode(obj, encode)
        decoding = decode(encoding)

        self.assertEqual(obj, decoding)
Ejemplo n.º 9
0
 def test_defaultdict(self):
     _types = [int, bool, float, str,
               bytearray, bytes, datetime, defaultdict, dict,
               list, set, timedelta, tuple]
     for _type in _types:
         obj = defaultdict(_type)
         type_ = DefaultDictType()
         encoding = type_.encode(obj, encode)
         decoding = decode(encoding)
         self.assertDictEqual(obj, decoding)
         self.assertEqual(obj.default_factory, decoding.default_factory)
Ejemplo n.º 10
0
    def test_instance(self):
        """ Asserts instance type is handled as expected
        """
        class ClassToPersist(object):
            def __init__(self):
                self._int = 1
                self._float = 1.0

        obj = ClassToPersist()
        type_ = InstanceType()
        encoding = type_.encode(obj, encode)
        decoding = decode(encoding)

        self.assertDictEqual(obj.__dict__, decoding)