Chris@87: """Tests for the NumpyVersion class. Chris@87: Chris@87: """ Chris@87: from __future__ import division, absolute_import, print_function Chris@87: Chris@87: from numpy.testing import assert_, run_module_suite, assert_raises Chris@87: from numpy.lib import NumpyVersion Chris@87: Chris@87: Chris@87: def test_main_versions(): Chris@87: assert_(NumpyVersion('1.8.0') == '1.8.0') Chris@87: for ver in ['1.9.0', '2.0.0', '1.8.1']: Chris@87: assert_(NumpyVersion('1.8.0') < ver) Chris@87: Chris@87: for ver in ['1.7.0', '1.7.1', '0.9.9']: Chris@87: assert_(NumpyVersion('1.8.0') > ver) Chris@87: Chris@87: Chris@87: def test_version_1_point_10(): Chris@87: # regression test for gh-2998. Chris@87: assert_(NumpyVersion('1.9.0') < '1.10.0') Chris@87: assert_(NumpyVersion('1.11.0') < '1.11.1') Chris@87: assert_(NumpyVersion('1.11.0') == '1.11.0') Chris@87: assert_(NumpyVersion('1.99.11') < '1.99.12') Chris@87: Chris@87: Chris@87: def test_alpha_beta_rc(): Chris@87: assert_(NumpyVersion('1.8.0rc1') == '1.8.0rc1') Chris@87: for ver in ['1.8.0', '1.8.0rc2']: Chris@87: assert_(NumpyVersion('1.8.0rc1') < ver) Chris@87: Chris@87: for ver in ['1.8.0a2', '1.8.0b3', '1.7.2rc4']: Chris@87: assert_(NumpyVersion('1.8.0rc1') > ver) Chris@87: Chris@87: assert_(NumpyVersion('1.8.0b1') > '1.8.0a2') Chris@87: Chris@87: Chris@87: def test_dev_version(): Chris@87: assert_(NumpyVersion('1.9.0.dev-Unknown') < '1.9.0') Chris@87: for ver in ['1.9.0', '1.9.0a1', '1.9.0b2', '1.9.0b2.dev-ffffffff']: Chris@87: assert_(NumpyVersion('1.9.0.dev-f16acvda') < ver) Chris@87: Chris@87: assert_(NumpyVersion('1.9.0.dev-f16acvda') == '1.9.0.dev-11111111') Chris@87: Chris@87: Chris@87: def test_dev_a_b_rc_mixed(): Chris@87: assert_(NumpyVersion('1.9.0a2.dev-f16acvda') == '1.9.0a2.dev-11111111') Chris@87: assert_(NumpyVersion('1.9.0a2.dev-6acvda54') < '1.9.0a2') Chris@87: Chris@87: Chris@87: def test_raises(): Chris@87: for ver in ['1.9', '1,9.0', '1.7.x']: Chris@87: assert_raises(ValueError, NumpyVersion, ver) Chris@87: Chris@87: Chris@87: if __name__ == "__main__": Chris@87: run_module_suite()