示例#1
0
    def test_inspect(self):
        """Test keys/values/items"""
        c = Context()
        c["foo"] = dict(a=1, b=2, c=3)
        c["bar"] = ["a", "b", "c"]

        def compare(a, b):
            a = sorted(a, key=lambda k: str(k.__class__.__name__))
            b = sorted(b, key=lambda k: str(k.__class__.__name__))

            for compare_a, compare_b in zip(a, b):
                self.assertEqual(compare_a, compare_b)

        self.assertEqual(sorted(c.keys()), ["bar", "foo"])
        self.assertEqual(sorted(c.keys("foo")), ["a", "b", "c"])
        self.assertEqual(sorted(c.keys("bar")), [0, 1, 2])

        compare((c.values()), [dict(a=1, b=2, c=3), ["a", "b", "c"]])
        self.assertEqual(sorted(c.values("foo")), [1, 2, 3])
        self.assertEqual(sorted(c.values("bar")), ["a", "b", "c"])

        compare(
            sorted(c.items()),
            sorted([("foo", dict(a=1, b=2, c=3)), ("bar", ["a", "b", "c"])]),
        )
        self.assertEqual(sorted(c.items("foo")), [("a", 1), ("b", 2), ("c", 3)])
        self.assertEqual(sorted(c.items("bar")), [(0, "a"), (1, "b"), (2, "c")])

        self.assertEqual(
            sorted(c.all_keys()),
            sorted(
                ["", "foo", "foo.a", "foo.c", "foo.b", "bar", "bar.0", "bar.1", "bar.2"]
            ),
        )
示例#2
0
    def test_inspect(self):
        """Test keys/values/items"""
        c = Context()
        c['foo'] = dict(a=1, b=2, c=3)
        c['bar'] = ['a', 'b', 'c']

        def compare(a, b):
            a = sorted(a, key=lambda k: str(k.__class__.__name__))
            b = sorted(b, key=lambda k: str(k.__class__.__name__))

            for compare_a, compare_b in zip(a, b):
                self.assertEqual(compare_a, compare_b)

        self.assertEqual(sorted(c.keys()), ['bar', 'foo'])
        self.assertEqual(sorted(c.keys('foo')), ['a', 'b', 'c'])
        self.assertEqual(sorted(c.keys('bar')), [0, 1, 2])

        compare((c.values()), [dict(a=1, b=2, c=3), ['a', 'b', 'c']])
        self.assertEqual(sorted(c.values('foo')), [1, 2, 3])
        self.assertEqual(sorted(c.values('bar')), ['a', 'b', 'c'])

        compare(sorted(c.items()), sorted([('foo', dict(a=1, b=2, c=3)), ('bar', ['a', 'b', 'c'])]))
        self.assertEqual(sorted(c.items('foo')), [('a', 1), ('b', 2), ('c', 3)])
        self.assertEqual(sorted(c.items('bar')), [(0, 'a'), (1, 'b'), (2, 'c')])

        self.assertEqual(sorted(c.all_keys()), sorted(['', 'foo', 'foo.a', 'foo.c', 'foo.b', 'bar', 'bar.0', 'bar.1', 'bar.2']))
示例#3
0
    def test_inspect(self):
        """Test keys/values/items"""
        c = Context()
        c['foo'] = dict(a=1, b=2, c=3)
        c['bar'] = ['a', 'b', 'c']

        def compare(a, b):
            a = sorted(a, key=lambda k: str(k.__class__.__name__))
            b = sorted(b, key=lambda k: str(k.__class__.__name__))

            for compare_a, compare_b in zip(a, b):
                self.assertEqual(compare_a, compare_b)

        self.assertEqual(sorted(c.keys()), ['bar', 'foo'])
        self.assertEqual(sorted(c.keys('foo')), ['a', 'b', 'c'])
        self.assertEqual(sorted(c.keys('bar')), [0, 1, 2])

        compare((c.values()), [dict(a=1, b=2, c=3), ['a', 'b', 'c']])
        self.assertEqual(sorted(c.values('foo')), [1, 2, 3])
        self.assertEqual(sorted(c.values('bar')), ['a', 'b', 'c'])

        compare(sorted(c.items()), sorted([('foo', dict(a=1, b=2, c=3)), ('bar', ['a', 'b', 'c'])]))
        self.assertEqual(sorted(c.items('foo')), [('a', 1), ('b', 2), ('c', 3)])
        self.assertEqual(sorted(c.items('bar')), [(0, 'a'), (1, 'b'), (2, 'c')])

        self.assertEqual(sorted(c.all_keys()), sorted(['', 'foo', 'foo.a', 'foo.c', 'foo.b', 'bar', 'bar.0', 'bar.1', 'bar.2']))