コード例 #1
0
 def test_is_compatible_and_registered(self):
     # InterWeaveRepo is compatible when either side
     # is a format 5/6/7 branch
     from bzrlib.repofmt import knitrepo
     formats = [
         RepositoryFormat5(),
         RepositoryFormat6(),
         RepositoryFormat7()
     ]
     incompatible_formats = [
         RepositoryFormat4(),
         knitrepo.RepositoryFormatKnit1(),
     ]
     repo_a = self.make_repository('a')
     repo_b = self.make_repository('b')
     is_compatible = InterWeaveRepo.is_compatible
     for source in incompatible_formats:
         # force incompatible left then right
         repo_a._format = source
         repo_b._format = formats[0]
         self.assertFalse(is_compatible(repo_a, repo_b))
         self.assertFalse(is_compatible(repo_b, repo_a))
     for source in formats:
         repo_a._format = source
         for target in formats:
             repo_b._format = target
             self.assertTrue(is_compatible(repo_a, repo_b))
     self.assertEqual(InterWeaveRepo,
                      InterRepository.get(repo_a, repo_b).__class__)