From dc977ecc16cad2861667483c5ca686a5f3c6b602 Mon Sep 17 00:00:00 2001 From: Nathan McDougall Date: Fri, 19 Dec 2025 07:57:20 +1300 Subject: [PATCH] Upgrade `pairwise` implementation in tests to `itertools` --- tests/unit/application/graph/test_layers.py | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/tests/unit/application/graph/test_layers.py b/tests/unit/application/graph/test_layers.py index 766ec2a3..c549d052 100644 --- a/tests/unit/application/graph/test_layers.py +++ b/tests/unit/application/graph/test_layers.py @@ -83,7 +83,7 @@ def test_indirect_illegal_within_one_package( self, specify_container: bool, start: str, end: str, route_middle: list[str] ): graph = self._build_legal_graph() - import_pairs = _pairwise([start, *route_middle, end]) + import_pairs = itertools.pairwise([start, *route_middle, end]) for importer, imported in import_pairs: graph.add_import(importer=importer, imported=imported) @@ -479,7 +479,7 @@ def test_indirect_illegal_within_one_package( self, specify_container: bool, start: str, end: str, route_middle: list[str] ): graph = self._build_legal_graph() - import_pairs = _pairwise([start, *route_middle, end]) + import_pairs = itertools.pairwise([start, *route_middle, end]) for importer, imported in import_pairs: graph.add_import(importer=importer, imported=imported) @@ -668,7 +668,7 @@ def test_indirect_illegal_across_two_packages( self, start: str, end: str, route_middle: list[str] ): graph = self._build_legal_graph() - import_pairs = _pairwise([start, *route_middle, end]) + import_pairs = itertools.pairwise([start, *route_middle, end]) for importer, imported in import_pairs: graph.add_import(importer=importer, imported=imported) @@ -949,18 +949,6 @@ def test_missing_layer_is_ignored_with_multiple_containers(self): } -def _pairwise(iterable): - """ - Return successive overlapping pairs taken from the input iterable. - pairwise('ABCDEFG') --> AB BC CD DE EF FG - - TODO: Replace with itertools.pairwise once on Python 3.10. - """ - a, b = itertools.tee(iterable) - next(b, None) - return zip(a, b) - - class TestClosedLayers: @pytest.mark.parametrize( "importer, imported, expect_ok",