Beispiel #1
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')
    def test_object(self):
        Int = type("Int", (int, ), {})
        self.assertEqual(np(Int(3)), "Int(3)\n")

        Float = type("Float", (float, ), {})
        self.assertEqual(np(Float(-3.3)), "Float(-3.3)\n")

        Str = type("Str", (str, ), {})
        self.assertEqual(np(Str("x")), "Str('x')\n")
Beispiel #3
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)
    def test_default_colors(self):

        s = np(b, color=True)

        self.assertTrue('10' in s, 'Распечатано число 10')
        self.assertTrue("'Строка\\n'" in s, 'Распечатана строка')
        self.assertTrue("b'binary\\n'" in s, 'Распечатано бинари')

        f = io.StringIO('')
        p(b, file=f)

        self.assertEqual(f.getvalue(), s, "Колоризированные строки совпадают")
        f.close()
    def test_uncolor_string(self):

        s = np(b)

        self.assertTrue('10' in s, 'Распечатано число 10')
        self.assertTrue("'Строка\\n'" in s, 'Распечатана строка')
        self.assertTrue("b'binary\\n'" in s, 'Распечатано бинари')

        f = io.StringIO('')
        p(b, file=f, color=False)

        self.assertEqual(f.getvalue(), s, "Cтроки совпадают")
        f.close()
Beispiel #6
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')
    def test_colors(self):

        color = dict(int=fore.RED, float=fore.GREEN)

        s = np(b, color=True)

        self.assertTrue('10' in s, 'Распечатано число 10')
        self.assertTrue("'Строка\\n'" in s, 'Распечатана строка')
        self.assertTrue("b'binary\\n'" in s, 'Распечатано бинари')

        f = io.StringIO('')
        p(b, file=f)

        self.assertEqual(f.getvalue(), s, "Колоризированные строки совпадают")
        f.close()

        x = False
        try:
            p('', color={'x': 1})
        except KeyError:
            x = True
        self.assertTrue(x, "Нет ключа")
 def test_object_without_dict(self):
     from datetime import datetime
     s = np(datetime.strptime('09.07.2006 00:23:23', '%d.%m.%Y %H:%M:%S'))
     self.assertEqual(s, "datetime('2006-07-09 00:23:23')\n",
                      'Распечатан объект без словаря')