def test_basic_dict(self): dct = { 'f1': { 'x': 0, 'y': 1, }, 'z': 2, } c = cnode.CNode(dct) self.assertEqual(c.read(cnode.QueryKey(['z'])), 2) self.assertEqual(c.read(cnode.QueryKey(['f1', 'x'])), 0)
def test_update_n(self): c = cnode.CNode({'x': 1}) c = cnode.CNode({'y': 2, 's': c}) self.assertEqual(c['y'], 2) c.update(cnode.QueryKey('y'), 3) self.assertEqual(c['y'], 3) self.assertEqual(c.read(['s', 'x']), 1) c = c.update('s', {'x': 2}) self.assertEqual(c.read(['s', 'x']), 2)
def test_update_v(self): c = cnode.CNode({'x': 1}) c = cnode.CNode({'y': 2, 's': c}) self.assertEqual(c['y'], 2) c.update(cnode.QueryKey('y'), 3) self.assertEqual(c['y'], 3)
def test_fast_create(self): c = cnode.CNode() c.create('x', cnode.CNode({'y': 1})) self.assertEqual(c.read(cnode.QueryKey(['x', 'y'])), 1)
def test_read_value_recursive(self): c_sub = cnode.CNode({'x': 1}) c = cnode.CNode({'y': 2, 's': c_sub}) self.assertEqual(c.read(cnode.QueryKey(['s', 'x'])), 1)
def test_read_value_simple(self): c = cnode.CNode({'x': 1}) self.assertEqual(c.read(cnode.QueryKey(['x'])), 1)