123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- from scipy.constants import find, value, ConstantWarning, c, speed_of_light
- from numpy.testing import (assert_equal, assert_, assert_almost_equal,
- suppress_warnings)
- import scipy.constants._codata as _cd
- def test_find():
- keys = find('weak mixing', disp=False)
- assert_equal(keys, ['weak mixing angle'])
- keys = find('qwertyuiop', disp=False)
- assert_equal(keys, [])
- keys = find('natural unit', disp=False)
- assert_equal(keys, sorted(['natural unit of velocity',
- 'natural unit of action',
- 'natural unit of action in eV s',
- 'natural unit of mass',
- 'natural unit of energy',
- 'natural unit of energy in MeV',
- 'natural unit of momentum',
- 'natural unit of momentum in MeV/c',
- 'natural unit of length',
- 'natural unit of time']))
- def test_basic_table_parse():
- c_s = 'speed of light in vacuum'
- assert_equal(value(c_s), c)
- assert_equal(value(c_s), speed_of_light)
- def test_basic_lookup():
- assert_equal('%d %s' % (_cd.c, _cd.unit('speed of light in vacuum')),
- '299792458 m s^-1')
- def test_find_all():
- assert_(len(find(disp=False)) > 300)
- def test_find_single():
- assert_equal(find('Wien freq', disp=False)[0],
- 'Wien frequency displacement law constant')
- def test_2002_vs_2006():
- assert_almost_equal(value('magn. flux quantum'),
- value('mag. flux quantum'))
- def test_exact_values():
- # Check that updating stored values with exact ones worked.
- with suppress_warnings() as sup:
- sup.filter(ConstantWarning)
- for key in _cd.exact_values:
- assert_((_cd.exact_values[key][0] - value(key)) / value(key) == 0)
|