Guest User

Untitled

a guest
Nov 23rd, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. from distutils.version import LooseVersion
  2. from pkg_resources import parse_version
  3. import unittest
  4.  
  5.  
  6. class TestVersions(unittest.TestCase):
  7.  
  8. def test(self):
  9. messed_versions = [
  10. '0.3.0',
  11. '0.2.1',
  12. '0.2.0',
  13. '0.0.1',
  14. '0.2.1-1-gcc85840',
  15. '0.2.0-1-gffd8d2d',
  16. '0.0.1-2-g584b83e',
  17. '0.0.1-1-g24410a9',
  18. ]
  19.  
  20. result = sorted(messed_versions, key=parse_version, reverse=True)
  21. print("n".join(result))
  22.  
  23. sorted_versions = [
  24. '0.3.0',
  25. '0.2.1-1-gcc85840',
  26. '0.2.1',
  27. '0.2.0-1-gffd8d2d',
  28. '0.2.0',
  29. '0.0.1-2-g584b83e',
  30. '0.0.1-1-g24410a9',
  31. '0.0.1',
  32. ]
  33.  
  34. self.assertEqual(
  35. messed_versions,
  36. sorted_versions
  37. )
  38.  
  39.  
  40. if __name__ == "__main__":
  41. unittest.main()
  42.  
  43. another_messy_lst = [
  44. '0.2.1-1-gcc85840',
  45. '0.2.0',
  46. '0.3.0',
  47. 'release-companyC',
  48. '0.2.0-1-gffd8d2d',
  49. '0.0.1-2-g584b83e',
  50. 'release-companyA',
  51. '0.2.1',
  52. 'prototype-FooBar',
  53. '0.0.1',
  54. '0.0.1-1-g24410a9',
  55. 'release-companyB',
  56. ]
  57.  
  58. another_sorted_lst = [
  59. '0.3.0',
  60. '0.2.1-1-gcc85840',
  61. '0.2.1',
  62. '0.2.0-1-gffd8d2d',
  63. '0.2.0',
  64. '0.0.1-2-g584b83e',
  65. '0.0.1-1-g24410a9',
  66. '0.0.1',
  67. 'prototype-FooBar',
  68. 'release-companyA',
  69. 'release-companyB',
  70. 'release-companyC',
  71. ]
Add Comment
Please, Sign In to add comment