diff options
author | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2012-05-22 02:00:47 +0200 |
---|---|---|
committer | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2012-05-22 02:00:47 +0200 |
commit | 4691a44b37b94f36fd8e9027137065e076c3c35c (patch) | |
tree | be742a4a9e9c136a54d63371ec127b930a738cc7 /tests | |
parent | aeeecf63275a2d0fea8ef38b7efeea88491576a7 (diff) | |
download | semantic-version-4691a44b37b94f36fd8e9027137065e076c3c35c.tar.gz |
Introduce Spec.filter and Spec.select.
Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/test_base.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/test_base.py b/tests/test_base.py index 22690b6..9bc19e8 100755 --- a/tests/test_base.py +++ b/tests/test_base.py @@ -343,6 +343,67 @@ class SpecTestCase(unittest.TestCase): self.assertEqual(slist1, slist2) self.assertFalse(slist1 == spec_list_text) + def test_filter_empty(self): + s = base.Spec('>=0.1.1') + res = tuple(s.filter(())) + self.assertEqual((), res) + + def test_filter_incompatible(self): + s = base.Spec('>=0.1.1,!=0.1.4') + res = tuple(s.filter([ + base.Version('0.1.0'), + base.Version('0.1.4'), + base.Version('0.1.4-alpha'), + ])) + self.assertEqual((), res) + + def test_filter_compatible(self): + s = base.Spec('>=0.1.1,!=0.1.4,<0.2.0') + res = tuple(s.filter([ + base.Version('0.1.0'), + base.Version('0.1.1'), + base.Version('0.1.5'), + base.Version('0.1.4-alpha'), + base.Version('0.1.2'), + base.Version('0.2.0-rc1'), + base.Version('3.14.15'), + ])) + + expected = ( + base.Version('0.1.1'), + base.Version('0.1.5'), + base.Version('0.1.2'), + ) + + self.assertEqual(expected, res) + + def test_select_empty(self): + s = base.Spec('>=0.1.1') + self.assertIsNone(s.select(())) + + def test_select_incompatible(self): + s = base.Spec('>=0.1.1,!=0.1.4') + res = s.select([ + base.Version('0.1.0'), + base.Version('0.1.4'), + base.Version('0.1.4-alpha'), + ]) + self.assertIsNone(res) + + def test_select_compatible(self): + s = base.Spec('>=0.1.1,!=0.1.4,<0.2.0') + res = s.select([ + base.Version('0.1.0'), + base.Version('0.1.1'), + base.Version('0.1.5'), + base.Version('0.1.4-alpha'), + base.Version('0.1.2'), + base.Version('0.2.0-rc1'), + base.Version('3.14.15'), + ]) + + self.assertEqual(base.Version('0.1.5'), res) + def test_contains(self): self.assertFalse('ii' in base.Spec('>=0.1.1')) |