Exemplo n.º 1
0
    def test_init(self):
        fd = FormatedDict()
        self.assertEqual(fd.format, None)

        fd = FormatedDict(self.data)
        self.assertEqual(fd.format, None)
        self.assertEqual(fd['a'], self.data['a'])

        fd = FormatedDict(format="a=>aa")
        self.assertEqual(fd.format, "a=>aa")
        fd = FormatedDict(self.data, format="a=>aa")
        self.assertEqual(fd.format, "a=>aa")
        self.assertEqual(fd['a'], self.data['a'])
Exemplo n.º 2
0
    def test_rm(self):
        self.assertIn("a", self.data)
        FormatedDict._rm(self.data, ["a"])
        self.assertNotIn("a", self.data)

        self.assertIn("abc", self.data)
        self.assertIn("b", self.data["abc"])
        FormatedDict._rm(self.data, ["abc", "!1"])
        self.assertNotIn("b", self.data["abc"])

        FormatedDict._rm(self.data, ["abc", "!999"])

        self.assertIn("abc", self.data)
        FormatedDict._rm(self.data, ["abc"])
        self.assertNotIn("abc", self.data)

        self.assertIn("b", self.data)
        self.assertIn("def", self.data["b"])
        self.assertIn("e", self.data["b"]["def"])
        FormatedDict._rm(self.data, ["b", "def", "e"])
        self.assertNotIn("e", self.data["b"]["def"])
Exemplo n.º 3
0
    def test_rm(self):
        self.assertIn('a', self.data)
        FormatedDict._rm(self.data, ['a'])
        self.assertNotIn('a', self.data)

        self.assertIn('abc', self.data)
        self.assertIn('b', self.data['abc'])
        FormatedDict._rm(self.data, ['abc', '!1'])
        self.assertNotIn('b', self.data['abc'])

        FormatedDict._rm(self.data, ['abc', '!999'])

        self.assertIn('abc', self.data)
        FormatedDict._rm(self.data, ['abc'])
        self.assertNotIn('abc', self.data)

        self.assertIn('b', self.data)
        self.assertIn('def', self.data['b'])
        self.assertIn('e', self.data['b']['def'])
        FormatedDict._rm(self.data, ['b', 'def', 'e'])
        self.assertNotIn('e', self.data['b']['def'])
Exemplo n.º 4
0
    def test_mv(self):
        self.assertIn("abc", self.data)
        self.assertNotIn("abc_copy", self.data)
        FormatedDict._mv(self.data, ["abc"], ["abc_copy"])
        self.assertNotIn("abc", self.data)
        self.assertIn("abc_copy", self.data)
        self.assertIn("a", self.data["abc_copy"])
        self.assertIn("b", self.data["abc_copy"])
        self.assertIn("c", self.data["abc_copy"])

        self.assertIn("b", self.data)
        self.assertIn("def", self.data["b"])
        self.assertNotIn("b2", self.data)
        FormatedDict._mv(self.data, ["b", "def"], ["b2", "def_copy"])
        self.assertIn("b", self.data)
        self.assertNotIn("def", self.data["b"])
        self.assertIn("b2", self.data)
        self.assertIn("def_copy", self.data["b2"])

        self.assertIn("abc_copy", self.data)
        self.assertNotIn("yc", self.data)
        FormatedDict._mv(self.data, ["abc_copy", "!2"], ["yc"])
        self.assertIn("abc_copy", self.data)
        self.assertNotIn("c", self.data["abc_copy"])
        self.assertIn("yc", self.data)
        self.assertEqual("c", self.data["yc"])
Exemplo n.º 5
0
    def test_mv(self):
        self.assertIn('abc', self.data)
        self.assertNotIn('abc_copy', self.data)
        FormatedDict._mv(self.data, ['abc'], ['abc_copy'])
        self.assertNotIn('abc', self.data)
        self.assertIn('abc_copy', self.data)
        self.assertIn('a', self.data['abc_copy'])
        self.assertIn('b', self.data['abc_copy'])
        self.assertIn('c', self.data['abc_copy'])

        self.assertIn('b', self.data)
        self.assertIn('def', self.data['b'])
        self.assertNotIn('b2', self.data)
        FormatedDict._mv(self.data, ['b', 'def'], ['b2', 'def_copy'])
        self.assertIn('b', self.data)
        self.assertNotIn('def', self.data['b'])
        self.assertIn('b2', self.data)
        self.assertIn('def_copy', self.data['b2'])

        self.assertIn('abc_copy', self.data)
        self.assertNotIn('yc', self.data)
        FormatedDict._mv(self.data, ['abc_copy', '!2'], ['yc'])
        self.assertIn('abc_copy', self.data)
        self.assertNotIn('c', self.data['abc_copy'])
        self.assertIn('yc', self.data)
        self.assertEqual('c', self.data['yc'])
Exemplo n.º 6
0
    def test_convert(self):
        self.data['time'] = datetime.datetime(2013, 1, 1)

        fd = FormatedDict(self.data)
        dd = fd.to_dict(
            convert={datetime.datetime: lambda x: x.strftime("%Y-%m-%d")})
        self.assertIn('time', dd)
        self.assertEqual(dd['time'], '2013-01-01')

        fd = FormatedDict(self.data)
        dd = fd.to_dict(convert={'time': lambda x: x.strftime("%Y-%m-%d")})
        self.assertIn('time', dd)
        self.assertEqual(dd['time'], '2013-01-01')

        # nested convert
        self.data['time'] = {'time': datetime.datetime(2013, 1, 1)}

        fd = FormatedDict(self.data)
        dd = fd.to_dict(
            convert={'time|time': lambda x: x.strftime("%Y-%m-%d")})
        self.assertIn('time', dd)
        self.assertIn('time', dd['time'])
        self.assertEqual(dd['time']['time'], '2013-01-01')
Exemplo n.º 7
0
    def test_to_dict(self):
        self.assertIn('a', self.data)
        self.assertIn('b', self.data)
        fd = FormatedDict(self.data, format="a")
        new = fd.to_dict()
        self.assertIn('a', new)
        self.assertNotIn('b', new)
        self.assertIn('a', self.data)
        self.assertIn('b', self.data)

        self.assertNotIn('aa', self.data)
        fd = FormatedDict(self.data, format="a=>aa")
        new = fd.to_dict()
        self.assertIn('aa', new)
        self.assertNotIn('aa', self.data)

        self.assertIn('a', self.data)
        fd = FormatedDict(self.data, format="-a")
        new = fd.to_dict()
        self.assertNotIn('a', new)
        self.assertIn('b', new)
        self.assertIn('z', new)
        self.assertIn('a', self.data)
Exemplo n.º 8
0
    def test_convert(self):
        self.data["time"] = datetime.datetime(2013, 1, 1)

        fd = FormatedDict(self.data)
        dd = fd.to_dict(convert={datetime.datetime: lambda x: x.strftime("%Y-%m-%d")})
        self.assertIn("time", dd)
        self.assertEqual(dd["time"], "2013-01-01")

        fd = FormatedDict(self.data)
        dd = fd.to_dict(convert={"time": lambda x: x.strftime("%Y-%m-%d")})
        self.assertIn("time", dd)
        self.assertEqual(dd["time"], "2013-01-01")

        # nested convert
        self.data["time"] = {"time": datetime.datetime(2013, 1, 1)}

        fd = FormatedDict(self.data)
        dd = fd.to_dict(convert={"time|time": lambda x: x.strftime("%Y-%m-%d")})
        self.assertIn("time", dd)
        self.assertIn("time", dd["time"])
        self.assertEqual(dd["time"]["time"], "2013-01-01")
Exemplo n.º 9
0
    def test_to_dict(self):
        self.assertIn("a", self.data)
        self.assertIn("b", self.data)
        fd = FormatedDict(self.data, format="a")
        new = fd.to_dict()
        self.assertIn("a", new)
        self.assertNotIn("b", new)
        self.assertIn("a", self.data)
        self.assertIn("b", self.data)

        self.assertNotIn("aa", self.data)
        fd = FormatedDict(self.data, format="a=>aa")
        new = fd.to_dict()
        self.assertIn("aa", new)
        self.assertNotIn("aa", self.data)

        self.assertIn("a", self.data)
        fd = FormatedDict(self.data, format="-a")
        new = fd.to_dict()
        self.assertNotIn("a", new)
        self.assertIn("b", new)
        self.assertIn("z", new)
        self.assertIn("a", self.data)
Exemplo n.º 10
0
 def test_get_path(self):
     self.assertEqual(self.data["a"], FormatedDict._get_path(self.data, ["a"]))
     self.assertEqual("c", FormatedDict._get_path(self.data, ["abc", "!2"]))
     self.assertEqual("X2", FormatedDict._get_path(self.data, ["z", "!1", "x"]))
Exemplo n.º 11
0
 def test_get_path(self):
     self.assertEqual(self.data['a'],
                      FormatedDict._get_path(self.data, ['a']))
     self.assertEqual('c', FormatedDict._get_path(self.data, ['abc', '!2']))
     self.assertEqual('X2',
                      FormatedDict._get_path(self.data, ['z', '!1', 'x']))