From fa2ee875483ff160d8732ecf12c4801f4b148f93 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 5 Oct 2011 09:11:13 -0700 Subject: [PATCH] test_best_match_to_list: test all permutations --- .../tests/dep/test_best_match_to_list.py | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/pym/portage/tests/dep/test_best_match_to_list.py b/pym/portage/tests/dep/test_best_match_to_list.py index 9cf5abdd5..58ab95b0f 100644 --- a/pym/portage/tests/dep/test_best_match_to_list.py +++ b/pym/portage/tests/dep/test_best_match_to_list.py @@ -1,7 +1,9 @@ # test_best_match_to_list.py -- Portage Unit Testing Functionality -# Copyright 2010 Gentoo Foundation +# Copyright 2010-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 +from itertools import permutations + from portage.tests import TestCase from portage.dep import Atom, best_match_to_list @@ -13,6 +15,7 @@ class Test_best_match_to_list(TestCase): list of matching atoms. """ ret = [] + mylist = list(mylist) while mylist: m = best_match_to_list(mypkg, mylist) if m is not None: @@ -26,22 +29,29 @@ class Test_best_match_to_list(TestCase): def testBest_match_to_list(self): tests = [ ("dev-libs/A-4", [Atom(">=dev-libs/A-3"), Atom(">=dev-libs/A-2")], \ - [Atom(">=dev-libs/A-3"), Atom(">=dev-libs/A-2")]), + [Atom(">=dev-libs/A-3"), Atom(">=dev-libs/A-2")], True), ("dev-libs/A-4", [Atom("<=dev-libs/A-5"), Atom("<=dev-libs/A-6")], \ - [Atom("<=dev-libs/A-5"), Atom("<=dev-libs/A-6")]), + [Atom("<=dev-libs/A-5"), Atom("<=dev-libs/A-6")], True), ("dev-libs/A-1", [Atom("dev-libs/A"), Atom("=dev-libs/A-1")], \ - [Atom("=dev-libs/A-1"), Atom("dev-libs/A")]), + [Atom("=dev-libs/A-1"), Atom("dev-libs/A")], True), ("dev-libs/A-1", [Atom("dev-libs/B"), Atom("=dev-libs/A-1:0")], \ - [Atom("=dev-libs/A-1:0")]), + [Atom("=dev-libs/A-1:0")], True), ("dev-libs/A-1", [Atom("dev-libs/*", allow_wildcard=True), Atom("=dev-libs/A-1:0")], \ - [Atom("=dev-libs/A-1:0"), Atom("dev-libs/*", allow_wildcard=True)]), + [Atom("=dev-libs/A-1:0"), Atom("dev-libs/*", allow_wildcard=True)], True), ("dev-libs/A-1:0", [Atom("dev-*/*", allow_wildcard=True), Atom("dev-*/*:0", allow_wildcard=True),\ Atom("dev-libs/A"), Atom("<=dev-libs/A-2"), Atom("dev-libs/A:0"), \ Atom("=dev-libs/A-1*"), Atom("~dev-libs/A-1"), Atom("=dev-libs/A-1")], \ [Atom("=dev-libs/A-1"), Atom("~dev-libs/A-1"), Atom("=dev-libs/A-1*"), \ Atom("dev-libs/A:0"), Atom("<=dev-libs/A-2"), Atom("dev-libs/A"), \ - Atom("dev-*/*:0", allow_wildcard=True), Atom("dev-*/*", allow_wildcard=True)]) + Atom("dev-*/*:0", allow_wildcard=True), Atom("dev-*/*", allow_wildcard=True)], False) ] - for pkg, atom_list, result in tests: - self.assertEqual( self.best_match_to_list_wrapper( pkg, atom_list ), result ) + for pkg, atom_list, result, all_permutations in tests: + if all_permutations: + atom_lists = permutations(atom_list) + else: + atom_lists = [atom_list] + for atom_list in atom_lists: + self.assertEqual( + self.best_match_to_list_wrapper(pkg, atom_list), + result) -- 2.26.2