codekingpro/portable-devtools
114k
1"""Tests for the NumpyVersion class.
2
3"""
4from numpy.lib import NumpyVersion
5from numpy.testing import assert_, assert_raises
6
7
8def test_main_versions():
9 assert_(NumpyVersion('1.8.0') == '1.8.0')
10 for ver in ['1.9.0', '2.0.0', '1.8.1', '10.0.1']:
11 assert_(NumpyVersion('1.8.0') < ver)
12
13 for ver in ['1.7.0', '1.7.1', '0.9.9']:
14 assert_(NumpyVersion('1.8.0') > ver)
15
16
17def test_version_1_point_10():
18 # regression test for gh-2998.
19 assert_(NumpyVersion('1.9.0') < '1.10.0')
20 assert_(NumpyVersion('1.11.0') < '1.11.1')
21 assert_(NumpyVersion('1.11.0') == '1.11.0')
22 assert_(NumpyVersion('1.99.11') < '1.99.12')
23
24
25def test_alpha_beta_rc():
26 assert_(NumpyVersion('1.8.0rc1') == '1.8.0rc1')
27 for ver in ['1.8.0', '1.8.0rc2']:
28 assert_(NumpyVersion('1.8.0rc1') < ver)
29
30 for ver in ['1.8.0a2', '1.8.0b3', '1.7.2rc4']:
31 assert_(NumpyVersion('1.8.0rc1') > ver)
32
33 assert_(NumpyVersion('1.8.0b1') > '1.8.0a2')
34
35
36def test_dev_version():
37 assert_(NumpyVersion('1.9.0.dev-Unknown') < '1.9.0')
38 for ver in ['1.9.0', '1.9.0a1', '1.9.0b2', '1.9.0b2.dev-ffffffff']:
39 assert_(NumpyVersion('1.9.0.dev-f16acvda') < ver)
40
41 assert_(NumpyVersion('1.9.0.dev-f16acvda') == '1.9.0.dev-11111111')
42
43
44def test_dev_a_b_rc_mixed():
45 assert_(NumpyVersion('1.9.0a2.dev-f16acvda') == '1.9.0a2.dev-11111111')
46 assert_(NumpyVersion('1.9.0a2.dev-6acvda54') < '1.9.0a2')
47
48
49def test_dev0_version():
50 assert_(NumpyVersion('1.9.0.dev0+Unknown') < '1.9.0')
51 for ver in ['1.9.0', '1.9.0a1', '1.9.0b2', '1.9.0b2.dev0+ffffffff']:
52 assert_(NumpyVersion('1.9.0.dev0+f16acvda') < ver)
53
54 assert_(NumpyVersion('1.9.0.dev0+f16acvda') == '1.9.0.dev0+11111111')
55
56
57def test_dev0_a_b_rc_mixed():
58 assert_(NumpyVersion('1.9.0a2.dev0+f16acvda') == '1.9.0a2.dev0+11111111')
59 assert_(NumpyVersion('1.9.0a2.dev0+6acvda54') < '1.9.0a2')
60
61
62def test_raises():
63 for ver in ['1.9', '1,9.0', '1.7.x']:
64 assert_raises(ValueError, NumpyVersion, ver)
65 