def test_expressions_with_fame(self): """Test expression evaluation in a frame""" c = Context() c["foo"] = dict(a=1, b=2, bar="apples") c["top"] = 10 c["r"] = list(range(10)) tests = [("a+b", 3), (".top", 10), ("a+.top", 11), (".r.4+.top", 14)] with c.frame("foo"): for expression, result in tests: self.assertEqual(c.eval(expression), result)
def test_expressions_with_fame(self): """Test expression evaluation in a frame""" c = Context() c['foo'] = dict(a=1, b=2, bar="apples") c['top'] = 10 c['r'] = list(range(10)) tests = [("a+b", 3), (".top", 10), ("a+.top", 11), (".r.4+.top", 14)] with c.frame('foo'): for expression, result in tests: self.assertEqual(c.eval(expression), result)
def test_copy_move(self): """Test copying and moving values""" c = Context() c['foo'] = 123 c['bar'] = {} c['bar.baz'] = 456 c.copy('foo', 'foo2') self.assertEqual(c['foo'], 123) self.assertEqual(c['foo2'], 123) with c.frame('bar'): c.copy('baz', '.zab') self.assertEqual(c['zab'], 456) c = Context() c['foo'] = 123 c['bar'] = {} self.assert_('foo' in c) c.move('foo', 'bar.foo') self.assert_('foo' not in c) self.assert_('bar.foo' in c) self.assertEqual(c['bar.foo'], 123)
def test_copy_move(self): """Test copying and moving values""" c = Context() c["foo"] = 123 c["bar"] = {} c["bar.baz"] = 456 c.copy("foo", "foo2") self.assertEqual(c["foo"], 123) self.assertEqual(c["foo2"], 123) with c.frame("bar"): c.copy("baz", ".zab") self.assertEqual(c["zab"], 456) c = Context() c["foo"] = 123 c["bar"] = {} self.assert_("foo" in c) c.move("foo", "bar.foo") self.assert_("foo" not in c) self.assert_("bar.foo" in c) self.assertEqual(c["bar.foo"], 123)