tests.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import unittest
  2. from .alpm import AlpmAPI
  3. alpm = AlpmAPI()
  4. class AlpmTestCase(unittest.TestCase):
  5. @unittest.skipUnless(alpm.available, "ALPM is unavailable")
  6. def test_version(self):
  7. version = alpm.version()
  8. self.assertIsNotNone(version)
  9. version = version.split('.')
  10. # version is a 3-tuple, e.g., '7.0.2'
  11. self.assertEqual(3, len(version))
  12. @unittest.skipUnless(alpm.available, "ALPM is unavailable")
  13. def test_vercmp(self):
  14. self.assertEqual(0, alpm.vercmp("1.0", "1.0"))
  15. self.assertEqual(1, alpm.vercmp("1.1", "1.0"))
  16. @unittest.skipUnless(alpm.available, "ALPM is unavailable")
  17. def test_compare_versions(self):
  18. self.assertTrue(alpm.compare_versions("1.0", "<=", "2.0"))
  19. self.assertTrue(alpm.compare_versions("1.0", "<", "2.0"))
  20. self.assertFalse(alpm.compare_versions("1.0", ">=", "2.0"))
  21. self.assertFalse(alpm.compare_versions("1.0", ">", "2.0"))
  22. self.assertTrue(alpm.compare_versions("1:1.0", ">", "2.0"))
  23. self.assertFalse(alpm.compare_versions("1.0.2", ">=", "2.1.0"))
  24. self.assertTrue(alpm.compare_versions("1.0", "=", "1.0"))
  25. self.assertTrue(alpm.compare_versions("1.0", "=", "1.0-1"))
  26. self.assertFalse(alpm.compare_versions("1.0", "!=", "1.0"))
  27. def test_behavior_when_unavailable(self):
  28. mock_alpm = AlpmAPI()
  29. mock_alpm.available = False
  30. self.assertIsNone(mock_alpm.version())
  31. self.assertIsNone(mock_alpm.vercmp("1.0", "1.0"))
  32. self.assertIsNone(mock_alpm.compare_versions("1.0", "=", "1.0"))
  33. # vim: set ts=4 sw=4 et: