* version 1.26, 2024-11-26 -- update to latest CODATA (and add
CODATA URLs), add debye unit of dyipole moment, add
README_appendix about how to do parallel processing,
modernize build / packaging
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numericalunits?expand=0&rev=17
37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
very basic tests on numericalunits
|
|
"""
|
|
import unittest
|
|
import numericalunits as nu
|
|
from math import isclose
|
|
|
|
class TestStuff(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
pass
|
|
|
|
def test_everything(self):
|
|
"""just some very basic smoke tests"""
|
|
# example from README
|
|
self.assertTrue(isclose(5 * nu.mL, 5e21 * nu.nm**3, rel_tol=1e-9))
|
|
|
|
# example from README
|
|
Efield = 1e5 * (nu.V / nu.cm)
|
|
force = nu.e * Efield
|
|
accel = force / nu.me
|
|
self.assertTrue(isclose(accel, 1.75882002e18 * nu.m / nu.s**2, rel_tol=1e-6))
|
|
|
|
# check nu_eval()
|
|
self.assertTrue(isclose(nu.nu_eval('kg'), nu.kg, rel_tol=1e-9))
|
|
self.assertTrue(isclose(nu.nu_eval('kg * m / s**2'), nu.kg * nu.m / nu.s**2, rel_tol=1e-9))
|
|
self.assertTrue(isclose(nu.nu_eval('kg**-3.6'), nu.kg**-3.6, rel_tol=1e-9))
|
|
|
|
# make sure reset_units('SI') works
|
|
nu.reset_units('SI')
|
|
self.assertTrue(isclose(nu.G, 1e-4, rel_tol=1e-9))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|