From dfbb9ddb4fc6799a83c4e6721cc76527dad5595b Mon Sep 17 00:00:00 2001 From: Richard Ipsum Date: Thu, 6 Nov 2014 19:23:03 +0000 Subject: Add test_greater_than --- exts/pip_find_deps_tests.py | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/exts/pip_find_deps_tests.py b/exts/pip_find_deps_tests.py index b838714..5549c7b 100755 --- a/exts/pip_find_deps_tests.py +++ b/exts/pip_find_deps_tests.py @@ -19,6 +19,9 @@ import unittest import pip_find_deps from pkg_resources import parse_requirements, parse_version +def reverse(xs): + return xs[::-1] + class ConflictDetectionTests(unittest.TestCase): def setUp(self): @@ -45,30 +48,38 @@ class ConflictDetectionTests(unittest.TestCase): self.assertEqual(dep.conflicts, [(('==', parse_version('0.1')), ('==', parse_version('0.2')))]) - def test_less_than(self): - def run(requirements, expected_conflicts): - deps = pip_find_deps.resolve_version_constraints(requirements) - - self.assertEqual(len(deps), 1) + def run_test_lt_gt(self, requirements, expected_conflicts): + deps = pip_find_deps.resolve_version_constraints(requirements) - _, dep = deps.popitem() + self.assertEqual(len(deps), 1) - self.assertEqual(len(dep.conflicts), 1) - self.assertEqual(dep.conflicts, expected_conflicts) + _, dep = deps.popitem() - def reverse(xs): - return xs[::-1] + self.assertEqual(len(dep.conflicts), 1) + self.assertEqual(dep.conflicts, expected_conflicts) + # TODO: squash this into one? + def test_less_than(self): requirements = list(parse_requirements(['a == 0.1', 'a < 0.1'])) expected_conflicts = [(('==', parse_version('0.1')), ('<', parse_version('0.1')))] # ('==', '0.1') conflicts with ('<', 0.1) - run(requirements, expected_conflicts) + self.run_test_lt_gt(requirements, expected_conflicts) # ('<', 0.1) conflicts with ('==', '0.1') - run(reverse(requirements), reverse(expected_conflicts)) + self.run_test_lt_gt(reverse(requirements), reverse(expected_conflicts)) + + def test_greater_than(self): + requirements = list(parse_requirements(['a == 0.1', 'a > 0.1'])) + expected_conflicts = [(('==', parse_version('0.1')), + ('>', parse_version('0.1')))] + + # ('==', '0.1') conflicts with ('>', 0.1) + self.run_test_lt_gt(requirements, expected_conflicts) + # ('>', 0.1) conflicts with ('==', '0.1') + self.run_test_lt_gt(reverse(requirements), reverse(expected_conflicts)) if __name__ == '__main__': suite = unittest.TestLoader().loadTestsFromTestCase(ConflictDetectionTests) -- cgit v1.2.1