~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_api.py

  • Committer: Robert Collins
  • Date: 2007-07-15 15:40:37 UTC
  • mto: (2592.3.33 repository)
  • mto: This revision was merged to the branch mainline in revision 2624.
  • Revision ID: robertc@robertcollins.net-20070715154037-3ar8g89decddc9su
Make GraphIndex accept nodes as key, value, references, so that the method
signature is closer to what a simple key->value index delivers. Also
change the behaviour when the reference list count is zero to accept
key, value as nodes, and emit key, value to make it identical in that case
to a simple key->value index. This may not be a good idea, but for now it
seems ok.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
"""Tests for library API infrastructure
18
18
 
19
 
This is specifically for things controlling the interface, such as versioning.
 
19
This is specifically for things controlling the interface, such as versioning.  
20
20
Tests for particular parts of the library interface should be in specific
21
21
relevant test modules.
22
22
"""
71
71
        self.assertEqual(bzrlib.version_info[0:3],
72
72
            bzrlib.api.get_current_api_version(an_object))
73
73
 
74
 
    def test_require_any_api_wanted_one(self):
75
 
        an_object = TrivialObject()
76
 
        an_object.api_minimum_version = (1, 2, 3)
77
 
        an_object.api_current_version = (4, 5, 6)
78
 
        bzrlib.api.require_any_api(an_object, [(1, 2, 3)])
79
 
 
80
 
    def test_require_any_api_wanted_first_compatible(self):
81
 
        an_object = TrivialObject()
82
 
        an_object.api_minimum_version = (1, 2, 3)
83
 
        an_object.api_current_version = (4, 5, 6)
84
 
        bzrlib.api.require_any_api(an_object, [(1, 2, 3), (5, 6, 7)])
85
 
 
86
 
    def test_require_any_api_wanted_second_compatible(self):
87
 
        an_object = TrivialObject()
88
 
        an_object.api_minimum_version = (1, 2, 3)
89
 
        an_object.api_current_version = (4, 5, 6)
90
 
        bzrlib.api.require_any_api(an_object, [(5, 6, 7), (1, 2, 3)])
91
 
 
92
 
    def test_require_any_api_wanted_none_compatible(self):
93
 
        an_object = TrivialObject()
94
 
        an_object.api_minimum_version = (1, 2, 3)
95
 
        an_object.api_current_version = (4, 5, 6)
96
 
        self.assertRaises(IncompatibleAPI, bzrlib.api.require_any_api,
97
 
            an_object, [(1, 2, 2), (5, 6, 7)])
98
 
 
99
74
    def test_require_api_wanted_is_minimum_is_ok(self):
100
75
        an_object = TrivialObject()
101
76
        an_object.api_minimum_version = (1, 2, 3)