/usr/share/pyshared/quantities/tests/test_uncertainty.py is in python-quantities 0.10.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | # -*- coding: utf-8 -*-
from .. import units as pq
from ..uncertainquantity import UncertainQuantity
from .common import TestCase
class TestUncertainty(TestCase):
def test_creation(self):
a = UncertainQuantity(1, pq.m)
self.assertQuantityEqual(a, 1*pq.m)
self.assertQuantityEqual(a.uncertainty, 0*pq.m)
a = UncertainQuantity([1, 1, 1], pq.m)
self.assertQuantityEqual(a, [1,1,1]*pq.m)
self.assertQuantityEqual(a.uncertainty, [0,0,0]*pq.m)
a = UncertainQuantity([1, 1, 1], pq.m, [.1, .1, .1])
self.assertQuantityEqual(a, [1, 1, 1] *pq.m)
self.assertQuantityEqual(a.uncertainty, [0.1, 0.1, 0.1] *pq.m)
self.assertRaises(ValueError, UncertainQuantity, [1,1,1], pq.m, 1)
self.assertRaises(ValueError, UncertainQuantity, [1,1,1], pq.m, [1,1])
def test_rescale(self):
a = UncertainQuantity([1, 1, 1], pq.m, [.1, .1, .1])
b = a.rescale(pq.ft)
self.assertQuantityEqual(
a.rescale('ft'),
[3.2808399, 3.2808399, 3.2808399]*pq.ft
)
self.assertQuantityEqual(
a.rescale('ft').uncertainty,
[0.32808399, 0.32808399, 0.32808399]*pq.ft
)
def test_set_uncertainty(self):
a = UncertainQuantity([1, 2], 'm', [.1, .2])
a.uncertainty = [1., 2.]*pq.m
self.assertQuantityEqual(a.uncertainty, [1, 2]*pq.m)
def set_u(q, u):
q.uncertainty = u
self.assertRaises(ValueError, set_u, a, 1)
self.assertRaises(ValueError, set_u, a, [1,2])
def test_uncertainquantity_multiply(self):
a = UncertainQuantity([1, 2], 'm', [.1, .2])
self.assertQuantityEqual(a*a, [1., 4.]*pq.m**2)
self.assertQuantityEqual((a*a).uncertainty, [0.14142,0.56568]*pq.m**2)
self.assertQuantityEqual(a*2, [2, 4]*pq.m)
self.assertQuantityEqual((a*2).uncertainty, [0.2,0.4]*pq.m)
def test_uncertainquantity_divide(self):
a = UncertainQuantity([1, 2], 'm', [.1, .2])
self.assertQuantityEqual(a/a, [1., 1.])
self.assertQuantityEqual((a/a).uncertainty, [0.14142, 0.14142])
self.assertQuantityEqual(a/pq.m, [1., 2.])
self.assertQuantityEqual((a/pq.m).uncertainty, [0.1, 0.2])
self.assertQuantityEqual(a/2, [0.5, 1.]*pq.m)
self.assertQuantityEqual((a/2).uncertainty, [0.05, 0.1 ]*pq.m)
self.assertQuantityEqual(1/a, [1., 0.5]/pq.m)
self.assertQuantityEqual((1/a).uncertainty, [0.1, 0.05]/pq.m)
|