/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 breezy/tests/test_graph.py

  • Committer: Breezy landing bot
  • Author(s): Martin
  • Date: 2017-05-26 09:35:13 UTC
  • mfrom: (6634.2.2 next_up_next)
  • Revision ID: breezy.the.bot@gmail.com-20170526093513-funr1gww70uc4mag
Make iterator objects and use of next Python 3 compatible

Merged from https://code.launchpad.net/~gz/brz/next_up_next/+merge/324586

Show diffs side-by-side

added added

removed removed

Lines of Context:
934
934
        self.assertRaises(StopIteration, search.next_with_ghosts)
935
935
        # next includes them
936
936
        search = graph._make_breadth_first_searcher(['a-ghost'])
937
 
        self.assertEqual({'a-ghost'}, search.next())
938
 
        self.assertRaises(StopIteration, search.next)
 
937
        self.assertEqual({'a-ghost'}, next(search))
 
938
        self.assertRaises(StopIteration, next, search)
939
939
 
940
940
    def test_breadth_first_search_deep_ghosts(self):
941
941
        graph = self.make_graph({
952
952
        self.assertRaises(StopIteration, search.next_with_ghosts)
953
953
        # next includes them
954
954
        search = graph._make_breadth_first_searcher(['head'])
955
 
        self.assertEqual({'head'}, search.next())
956
 
        self.assertEqual({'present'}, search.next())
 
955
        self.assertEqual({'head'}, next(search))
 
956
        self.assertEqual({'present'}, next(search))
957
957
        self.assertEqual({'child', 'ghost'},
958
 
            search.next())
959
 
        self.assertRaises(StopIteration, search.next)
 
958
            next(search))
 
959
        self.assertRaises(StopIteration, next, search)
960
960
 
961
961
    def test_breadth_first_search_change_next_to_next_with_ghosts(self):
962
962
        # To make the API robust, we allow calling both next() and
969
969
        # start with next_with_ghosts
970
970
        search = graph._make_breadth_first_searcher(['head'])
971
971
        self.assertEqual(({'head'}, set()), search.next_with_ghosts())
972
 
        self.assertEqual({'present'}, search.next())
 
972
        self.assertEqual({'present'}, next(search))
973
973
        self.assertEqual(({'child'}, {'ghost'}),
974
974
            search.next_with_ghosts())
975
 
        self.assertRaises(StopIteration, search.next)
 
975
        self.assertRaises(StopIteration, next, search)
976
976
        # start with next
977
977
        search = graph._make_breadth_first_searcher(['head'])
978
 
        self.assertEqual({'head'}, search.next())
 
978
        self.assertEqual({'head'}, next(search))
979
979
        self.assertEqual(({'present'}, set()), search.next_with_ghosts())
980
980
        self.assertEqual({'child', 'ghost'},
981
 
            search.next())
 
981
            next(search))
982
982
        self.assertRaises(StopIteration, search.next_with_ghosts)
983
983
 
984
984
    def test_breadth_first_change_search(self):
1000
1000
        self.assertRaises(StopIteration, search.next_with_ghosts)
1001
1001
        # next includes them
1002
1002
        search = graph._make_breadth_first_searcher(['head'])
1003
 
        self.assertEqual({'head'}, search.next())
1004
 
        self.assertEqual({'present'}, search.next())
 
1003
        self.assertEqual({'head'}, next(search))
 
1004
        self.assertEqual({'present'}, next(search))
1005
1005
        self.assertEqual({'present'},
1006
1006
            search.stop_searching_any(['present']))
1007
1007
        search.start_searching(['other', 'other_ghost'])
1008
 
        self.assertEqual({'other_2'}, search.next())
1009
 
        self.assertRaises(StopIteration, search.next)
 
1008
        self.assertEqual({'other_2'}, next(search))
 
1009
        self.assertRaises(StopIteration, next, search)
1010
1010
 
1011
1011
    def assertSeenAndResult(self, instructions, search, next):
1012
1012
        """Check the results of .seen and get_result() for a seach.
1054
1054
            ({'head', 'child', NULL_REVISION}, ({'head'}, set(), 3),
1055
1055
             ['head', 'child', NULL_REVISION], None, None),
1056
1056
            ]
1057
 
        self.assertSeenAndResult(expected, search, search.next)
 
1057
        self.assertSeenAndResult(expected, search, search.__next__)
1058
1058
        # using next_with_ghosts:
1059
1059
        search = graph._make_breadth_first_searcher(['head'])
1060
1060
        self.assertSeenAndResult(expected, search, search.next_with_ghosts)
1092
1092
             ({'head', 'otherhead'}, {'child', 'excluded'}, 3),
1093
1093
             ['head', 'otherhead', 'otherchild'], None, ['excluded']),
1094
1094
            ]
1095
 
        self.assertSeenAndResult(expected, search, search.next)
 
1095
        self.assertSeenAndResult(expected, search, search.__next__)
1096
1096
        # using next_with_ghosts:
1097
1097
        search = graph._make_breadth_first_searcher([])
1098
1098
        search.start_searching(['head'])
1118
1118
             ({'head'}, {'ghost1', NULL_REVISION}, 2),
1119
1119
             ['head', 'child'], None, [NULL_REVISION, 'ghost1']),
1120
1120
            ]
1121
 
        self.assertSeenAndResult(expected, search, search.next)
 
1121
        self.assertSeenAndResult(expected, search, search.__next__)
1122
1122
        # using next_with_ghosts:
1123
1123
        search = graph._make_breadth_first_searcher(['head'])
1124
1124
        self.assertSeenAndResult(expected, search, search.next_with_ghosts)
1145
1145
             ({'head'}, {'middle', 'child'}, 1),
1146
1146
             ['head'], None, ['middle', 'child']),
1147
1147
            ]
1148
 
        self.assertSeenAndResult(expected, search, search.next)
 
1148
        self.assertSeenAndResult(expected, search, search.__next__)
1149
1149
        # using next_with_ghosts:
1150
1150
        search = graph._make_breadth_first_searcher(['head'])
1151
1151
        self.assertSeenAndResult(expected, search, search.next_with_ghosts)
1166
1166
             ({'head'}, {NULL_REVISION, 'ghost'}, 2),
1167
1167
             ['head', 'child'], None, None),
1168
1168
            ]
1169
 
        self.assertSeenAndResult(expected, search, search.next)
 
1169
        self.assertSeenAndResult(expected, search, search.__next__)
1170
1170
        # using next_with_ghosts:
1171
1171
        search = graph._make_breadth_first_searcher(['head'])
1172
1172
        self.assertSeenAndResult(expected, search, search.next_with_ghosts)
1187
1187
             ({'head', 'ghost'}, {NULL_REVISION, 'ghost'}, 2),
1188
1188
             ['head', 'child'], None, None),
1189
1189
            ]
1190
 
        self.assertSeenAndResult(expected, search, search.next)
 
1190
        self.assertSeenAndResult(expected, search, search.__next__)
1191
1191
        # using next_with_ghosts:
1192
1192
        search = graph._make_breadth_first_searcher(['head'])
1193
1193
        self.assertSeenAndResult(expected, search, search.next_with_ghosts)
1207
1207
             ({'head'}, set([]), 2),
1208
1208
             ['head', NULL_REVISION], None, None),
1209
1209
            ]
1210
 
        self.assertSeenAndResult(expected, search, search.next)
 
1210
        self.assertSeenAndResult(expected, search, search.__next__)
1211
1211
        # using next_with_ghosts:
1212
1212
        search = graph._make_breadth_first_searcher(['head'])
1213
1213
        self.assertSeenAndResult(expected, search, search.next_with_ghosts)
1228
1228
             ({'head', 'ghost'}, {'ghost'}, 2),
1229
1229
             ['head', NULL_REVISION], ['ghost'], None),
1230
1230
            ]
1231
 
        self.assertSeenAndResult(expected, search, search.next)
1232
 
        self.assertRaises(StopIteration, search.next)
 
1231
        self.assertSeenAndResult(expected, search, search.__next__)
 
1232
        self.assertRaises(StopIteration, next, search)
1233
1233
        self.assertEqual({'head', 'ghost', NULL_REVISION}, search.seen)
1234
1234
        state = search.get_state()
1235
1235
        self.assertEqual(
1239
1239
        # using next_with_ghosts:
1240
1240
        search = graph._make_breadth_first_searcher(['head'])
1241
1241
        self.assertSeenAndResult(expected, search, search.next_with_ghosts)
1242
 
        self.assertRaises(StopIteration, search.next)
 
1242
        self.assertRaises(StopIteration, next, search)
1243
1243
        self.assertEqual({'head', 'ghost', NULL_REVISION}, search.seen)
1244
1244
        state = search.get_state()
1245
1245
        self.assertEqual(