Пример #1
0
 def test_freeze_9(self):
     """ Плавающее """
     value = 1.23
     data = freeze(value)
     self.assertEqual(thaw(data), value, 'Плавающее')
     self.assertEqual(data, freeze_perl("\\%s" % value),
                      'Плавающее в storable')
Пример #2
0
 def test_freeze_1(self):
     """ Натуральное """
     value = 123
     data = freeze(value)
     self.assertEqual(thaw(data), value, 'Натуральное')
     self.assertEqual(data, freeze_perl("\\%s" % value),
                      'Натуральное в storable')
Пример #3
0
 def test_freeze_7(self):
     """ Среднее целое поменьше """
     value = -1000000
     data = freeze(value)
     self.assertEqual(thaw(data), value, 'Среднее целое поменьше')
     self.assertEqual(data, freeze_perl("\\%s" % value),
                      'Среднее Целое поменьше в storable')
Пример #4
0
 def test_freeze_13(self):
     """ Длинная строка """
     value = '1' * 1000
     data = freeze(value)
     self.assertEqual(thaw(data), value, 'Длинная строка')
     self.assertEqual(data, freeze_perl("\\'%s'" % value, "use utf8;"),
                      'Длинная строка в storable')
Пример #5
0
 def test_freeze_4(self):
     """ Большое натуральное """
     value = 5000000000
     data = freeze(value)
     self.assertEqual(thaw(data), value, 'Большое натуральное')
     self.assertEqual(data, freeze_perl("\\%s" % value),
                      'Среднее натуральное побольше в storable')
Пример #6
0
 def test_freeze_2(self):
     """ Среднее натуральное """
     value = 128
     data = freeze(value)
     self.assertEqual(thaw(data), value, 'Среднее натуральное')
     self.assertEqual(data, freeze_perl("\\%s" % value),
                      'Среднее натуральное в storable')
Пример #7
0
 def test_freeze_15(self):
     """ Строка в utf8 """
     value = "Привет!"
     data = freeze(value)
     self.assertEqual(thaw(data), value, 'Строка в utf8')
     self.assertEqual(data, freeze_perl("\\'%s'" % value, "use utf8;"),
                      'Строка в utf8 в storable')
Пример #8
0
 def test_freeze_20(self):
     """ Вложенный Массив """
     value = [123, -1.23, "123", [1, 2, 3], "Привет!"]
     data = freeze(value)
     self.assertEqual(np(thaw(data)), np(value), 'Вложенный Массив')
     self.assertEqual(data, freeze_perl(str(value), 'use utf8;'),
                      'Вложенный Массив в storable')
Пример #9
0
    def test_throw_21(self):
        """ Рекурсивный Массив """
        data = b'\x04\x0b\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x02\x09\x00\x00\x00\x08\xfb\x07\xae\x47\xe1\x7a\x14\xae\xf3\xbf\x05\x0a\x03\x31\x32\x33\x01\xe8\x03\x00\x00\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x04\x02\x01\x00\x00\x00\x08\x85\x04\x03\x01\x00\x00\x00\x08\x86\x01\x00\x00\x00\x78\x17\x0d\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82\x21\x04\x00\x00\x00\x00\x00'

        a = thaw(data)
        self.assertEqual(len(a), len(RECURSION_ARRAY))
        self.assertTrue(a[-1] == a)
Пример #10
0
 def test_freeze_19(self):
     """ Неопределённое значение """
     value = None
     data = freeze(value)
     self.assertEqual(thaw(data), value, 'Неопределённое значение')
     self.assertEqual(data, freeze_perl("\\$x"),
                      'Неопределённое значение в storable')
Пример #11
0
 def test_throw_14(self):
     """ Строка no utf8 """
     data = b'\x04\x0b\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x0a\x0d\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82\x21'
     self.assertEqual(
         thaw(data),
         b'\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82\x21',
         'Строка no utf8')
Пример #12
0
 def test_freeze_16(self):
     """ Скаляр """
     value = "-1.23"
     data = freeze(value)
     self.assertEqual(thaw(data), value, 'Скаляр')
     self.assertEqual(data, freeze_perl("\\'%s'" % value),
                      'Скаляр в storable')
Пример #13
0
 def test_freeze_8(self):
     """ Большое целое """
     value = -5000000000
     data = freeze(value)
     self.assertEqual(thaw(data), value, 'Большое целое')
     self.assertEqual(data, freeze_perl("\\%s" % value),
                      'Большое Целое в storable')
Пример #14
0
 def test_freeze_12(self):
     """ Пустая строка """
     value = ""
     data = freeze(value)
     self.assertEqual(thaw(data), value, 'Пустая строка')
     self.assertEqual(data, freeze_perl("\\'%s'" % value, "use utf8;"),
                      'Пустая строка в storable')
Пример #15
0
    def test_freeze_14(self):
        """ Строка no utf8 """
        value = b'\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82\x21'
        v = "".join(["\\x%02x" % ch for ch in value])

        data = freeze(value)
        self.assertEqual(thaw(data), value, 'Строка no utf8')
        self.assertEqual(data, freeze_perl("\\\"%s\"" % v), 'Строка no utf8')
Пример #16
0
    def test_throw_23(self):
        """ Объект-массив """
        data = b'\x04\x0b\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x11\x01\x41\x02\x02\x00\x00\x00\x08\x85\x0a\x03\x61\x62\x63'

        class A(list):
            pass

        a = thaw(data, classes={'A': A})
        self.assertEqual(len(a), 2)
        self.assertIsInstance(a, A)
Пример #17
0
    def test_throw_22(self):
        """ Объект """
        data = b'\x04\x0b\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x11\x04\x41\x3a\x3a\x41\x03\x01\x00\x00\x00\x08\x86\x01\x00\x00\x00\x78'

        class A__A:
            def getX(self):
                return self.x

        a = thaw(data, classes={'A::A': A__A})
        self.assertEqual(a.getX(), 6)
        self.assertIsInstance(a, A__A)
Пример #18
0
    def test_freeze_23(self):
        """ Объект-массив """
        class A(list):
            pass

        value = A([5, "abc"])
        data = freeze(value)

        a = thaw(data, classes={'A': A})
        self.assertEqual(len(a), 2)
        self.assertIsInstance(a, A)
Пример #19
0
 def test_throw_18(self):
     """ Хеш """
     data = b'\x04\x0b\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x19\x00\x05\x00\x00\x00\x04\x02\x03\x00\x00\x00\x08\x81\x08\x82\x08\x83\x01\x0d\x00\x00\x00\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82\x21\x04\x03\x01\x00\x00\x00\x05\x01\x00\x00\x00\x78\x00\x03\x00\x00\x00\x74\x69\x70\x08\x97\x00\x01\x00\x00\x00\x31\x07\xae\x47\xe1\x7a\x14\xae\xf3\xbf\x00\x0c\x00\x00\x00\x2d\x31\x35\x36\x30\x30\x30\x30\x30\x30\x30\x30\x0a\x03\x31\x32\x33\x00\x01\x00\x00\x00\x75'
     self.assertEqual(
         thaw(data), {
             "-15600000000": -1.23,
             "1": 23,
             "tip": {
                 "x": None
             },
             "u": "123",
             "Привет!": [1, 2, 3]
         }, 'Хеш')
Пример #20
0
    def test_freeze_21(self):
        """ Рекурсивный Массив """
        value = [3, None, {"u": [7]}, [5, None], "Привет!"]
        value[3].append(value[2]["u"])

        #self.maxDiff = None

        data = freeze(value)

        p(value)
        p(thaw(data))

        x = freeze_perl(
            '$x',
            'use utf8; $x=[3, $none, {u=>[7]}, [5, $none], "Привет!"]; push @{$x->[3]}, $x->[2]{u};'
        )

        print("python")
        p(data)
        print("perl")
        p(x)

        self.assertEqual(np(thaw(data)), np(value), 'Рекурсивный Массив')
        self.assertEqual(data, x, 'Рекурсивный Массив в storable')
Пример #21
0
    def test_freeze_18(self):
        """ Хеш """
        value = {
            "-15600000000": -1.23,
            "1": 23,
            "tip": {
                "x": None
            },
            "u": "123",
            "Привет!": [1, 2, 3]
        }
        data = freeze(value)

        self.assertEqual(np(thaw(data, iconv=lambda s: s.decode('utf-8'))),
                         np(value), 'Хеш')
        thaw_perl(data, '', 1)
Пример #22
0
    def test_freeze_22(self):
        """ Объект """
        class A__A:
            def __init__(self, x):
                self.x = x

            def getX(self):
                return self.x

        value = A__A(x=6)
        data = freeze(value)

        a = thaw(data, classes={'A::A': A__A})

        self.assertEqual(a.getX(), 6)
        self.assertIsInstance(a, A__A)

        x = freeze_perl('bless {x=>6}, "A::A"')

        self.assertEqual(data, x, 'Объект в storable')
Пример #23
0
 def test_throw_16(self):
     """ Скаляр """
     data = b'\x04\x0b\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x0a\x05\x2d\x31\x2e\x32\x33'
     self.assertEqual(thaw(data), "-1.23", 'Скаляр')
Пример #24
0
 def test_throw_15(self):
     """ Строка в utf8 """
     data = b'\x04\x0b\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x17\x0d\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82\x21'
     self.assertEqual(thaw(data), "Привет!", 'Строка в utf8')
Пример #25
0
 def test_throw_13(self):
     """ Длинная строка """
     data = b'\x04\x0b\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x01\xe8\x03\x00\x00\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31'
     self.assertEqual(thaw(data), '1' * 1000, 'Длинная строка')
Пример #26
0
 def test_throw_12(self):
     """ Пустая строка """
     data = b'\x04\x0b\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x0a\x00'
     self.assertEqual(thaw(data), "", 'Пустая строка')
Пример #27
0
 def test_throw_11(self):
     """ Строка """
     data = b'\x04\x0b\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x0a\x03\x31\x32\x33'
     self.assertEqual(thaw(data), "123", 'Строка')
Пример #28
0
 def test_throw_10(self):
     """ Плавающее отрицательное """
     data = b'\x04\x0b\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x07\x2d\x0f\x25\x40\x76\x7e\xb6\xd4'
     self.assertEqual(thaw(data), -1.2300000000000003e+100,
                      'Плавающее отрицательное')
Пример #29
0
 def test_throw_9(self):
     """ Плавающее """
     data = b'\x04\x0b\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x07\xae\x47\xe1\x7a\x14\xae\xf3\x3f'
     self.assertEqual(thaw(data), 1.23, 'Плавающее')
Пример #30
0
 def test_throw_8(self):
     """ Большое целое """
     data = b'\x04\x0b\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x06\x00\x0e\xfa\xd5\xfe\xff\xff\xff'
     self.assertEqual(thaw(data), -5000000000, 'Большое целое')