~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_btree_index.py

  • Committer: John Arbash Meinel
  • Date: 2009-08-07 18:52:37 UTC
  • mto: This revision was merged to the branch mainline in revision 4613.
  • Revision ID: john@arbash-meinel.com-20090807185237-itdqujj0f88udx1p
Start adding some tests.
Extend the code a little bit, to make parent_map and missing_keys be state
that is passed in and then mutated, rather than one and not the other.
We need the state since we are walking more than the minimal, though passing
in the 'goal' of the function does seem a little silly.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2008 Canonical Ltd
 
1
# Copyright (C) 2008, 2009 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
980
980
            ])
981
981
        self.assertEqual(set([]), index.external_references(0))
982
982
 
 
983
    def test_get_ancestry_one_page(self):
 
984
        key1 = ('key-1',)
 
985
        key2 = ('key-2',)
 
986
        index = self.make_index(ref_lists=1, key_elements=1, nodes=[
 
987
            (key1, 'value', ([key2],)),
 
988
            (key2, 'value', ([],)),
 
989
            ])
 
990
        parent_map = {}
 
991
        missing_keys = set()
 
992
        search_keys = index.get_ancestry([key1], 0, parent_map, missing_keys)
 
993
        self.assertEqual({key1: (key2,), key2: ()}, parent_map)
 
994
        self.assertEqual(set(), missing_keys)
 
995
 
983
996
 
984
997
class TestBTreeNodes(BTreeTestCase):
985
998