/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_api.py

  • Committer: John Arbash Meinel
  • Date: 2008-10-14 21:35:27 UTC
  • mto: This revision was merged to the branch mainline in revision 3805.
  • Revision ID: john@arbash-meinel.com-20081014213527-4j9uc93aq1qmn43b
Add in a shortcut when we haven't cached much yet.

Document the current algorithm more completely, including the proper
justification for the various steps.

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)