def test_checkpoint(): d = DataContext() d['a'] = object() d['b'] = object() copy = d.checkpoint() assert copy is not d assert copy.subcontext is not d.subcontext assert set(copy.keys()) == set(d.keys()) assert copy['a'] is d['a'] assert copy['b'] is d['b']