test__version.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. from __future__ import division, absolute_import, print_function
  2. from numpy.testing import assert_
  3. from pytest import raises as assert_raises
  4. from scipy._lib._version import NumpyVersion
  5. def test_main_versions():
  6. assert_(NumpyVersion('1.8.0') == '1.8.0')
  7. for ver in ['1.9.0', '2.0.0', '1.8.1']:
  8. assert_(NumpyVersion('1.8.0') < ver)
  9. for ver in ['1.7.0', '1.7.1', '0.9.9']:
  10. assert_(NumpyVersion('1.8.0') > ver)
  11. def test_version_1_point_10():
  12. # regression test for gh-2998.
  13. assert_(NumpyVersion('1.9.0') < '1.10.0')
  14. assert_(NumpyVersion('1.11.0') < '1.11.1')
  15. assert_(NumpyVersion('1.11.0') == '1.11.0')
  16. assert_(NumpyVersion('1.99.11') < '1.99.12')
  17. def test_alpha_beta_rc():
  18. assert_(NumpyVersion('1.8.0rc1') == '1.8.0rc1')
  19. for ver in ['1.8.0', '1.8.0rc2']:
  20. assert_(NumpyVersion('1.8.0rc1') < ver)
  21. for ver in ['1.8.0a2', '1.8.0b3', '1.7.2rc4']:
  22. assert_(NumpyVersion('1.8.0rc1') > ver)
  23. assert_(NumpyVersion('1.8.0b1') > '1.8.0a2')
  24. def test_dev_version():
  25. assert_(NumpyVersion('1.9.0.dev-Unknown') < '1.9.0')
  26. for ver in ['1.9.0', '1.9.0a1', '1.9.0b2', '1.9.0b2.dev-ffffffff']:
  27. assert_(NumpyVersion('1.9.0.dev-f16acvda') < ver)
  28. assert_(NumpyVersion('1.9.0.dev-f16acvda') == '1.9.0.dev-11111111')
  29. def test_dev_a_b_rc_mixed():
  30. assert_(NumpyVersion('1.9.0a2.dev-f16acvda') == '1.9.0a2.dev-11111111')
  31. assert_(NumpyVersion('1.9.0a2.dev-6acvda54') < '1.9.0a2')
  32. def test_dev0_version():
  33. assert_(NumpyVersion('1.9.0.dev0+Unknown') < '1.9.0')
  34. for ver in ['1.9.0', '1.9.0a1', '1.9.0b2', '1.9.0b2.dev0+ffffffff']:
  35. assert_(NumpyVersion('1.9.0.dev0+f16acvda') < ver)
  36. assert_(NumpyVersion('1.9.0.dev0+f16acvda') == '1.9.0.dev0+11111111')
  37. def test_dev0_a_b_rc_mixed():
  38. assert_(NumpyVersion('1.9.0a2.dev0+f16acvda') == '1.9.0a2.dev0+11111111')
  39. assert_(NumpyVersion('1.9.0a2.dev0+6acvda54') < '1.9.0a2')
  40. def test_raises():
  41. for ver in ['1.9', '1,9.0', '1.7.x']:
  42. assert_raises(ValueError, NumpyVersion, ver)