Exemplo n.º 1
0
 def test_conversion(self):
     m1 = skdb.Unit("m")
     m2 = sympy.physics.units.m
     self.assertTrue(m1.compatible(m2))
     m3 = skdb.Unit(sympy.physics.units.m)
     self.assertTrue(m1.compatible(m3))
     self.assertTrue(m3.compatible(m1))
Exemplo n.º 2
0
 def test_imaginary(self):
     self.assertTrue(skdb.Unit('nanometer').check(
     ))  #actually i dont think we will ever see 'nano' in the result
     self.assertRaises(skdb.NaNError, skdb.Unit, 'sqrt(-1)')
     self.assertRaises(skdb.NaNError, skdb.Unit, 'sqrt(-1mm^2)')
     self.assertRaises(skdb.NaNError, skdb.Unit, '(-1.5e2mm^3)^(1/3)')
     self.assertRaises(skdb.NaNError, skdb.Unit(1).compatible, 'sqrt(-1)')
Exemplo n.º 3
0
 def test_check(self):  #what am i testing here?
     self.assertTrue(skdb.Unit(0).check())
     self.assertTrue(
         skdb.Unit(None).check())  #do we really want None to pass?
     self.assertTrue(skdb.Unit('mm').check())
     self.assertTrue(skdb.Unit('in-25.4mm').check())
     self.assertTrue(skdb.Unit('25.4mm').check())
     #self.assertFalse(skdb.Unit('inch+second').check())
     self.assertRaises(skdb.UnitError, skdb.Unit, 'inch+second')
Exemplo n.º 4
0
 def test_compatibility(self):
     m1 = skdb.Unit("m")
     m2 = quantities.meter
     m3 = quantities.Quantity([0], 'm')
     m4 = quantities.Quantity([0], 'meter')
     self.assertTrue(m1.compatible(m2))
     self.assertTrue(m1.compatible(m3))
     self.assertTrue(m1.compatible(m4))
Exemplo n.º 5
0
 def test_div(self):
     self.assertEqual(1 / skdb.Unit('16rev/in'),
                      skdb.Unit('(1/16)*(in/rev)'))
     self.assertEqual(1 / skdb.Unit('16rev/in'), 1. / skdb.Unit('16rev/in'))
Exemplo n.º 6
0
 def test_nounits(self):
     self.assertEqual(skdb.Unit(None), skdb.Unit(0))
     self.assertEqual(skdb.Unit(0), skdb.Unit(0))
     self.assertEqual(skdb.Unit('-1'), skdb.Unit('0-1'))
     self.assertEqual(skdb.Unit('1-1'), skdb.Unit(0))
     self.assertTrue(skdb.Unit(0).compatible(skdb.Unit(1)))
     self.assertTrue(skdb.Unit(1234).compatible(skdb.Unit(1)))
     self.assertTrue(skdb.Unit(-1).compatible(skdb.Unit(1)))
Exemplo n.º 7
0
 def test_mul(self):
     self.assertTrue((skdb.Unit('V') * skdb.Unit('A')).compatible('W'))
     self.assertFalse((skdb.Unit('V') * skdb.Unit('W')).compatible('W'))
     self.assertEqual(
         skdb.Unit('V') * skdb.Unit('A'),
         skdb.Unit('A') * skdb.Unit('V'))
Exemplo n.º 8
0
 def test_add(self):
     self.assertEqual(skdb.Unit('1') + skdb.Unit('1'), skdb.Unit('2'))
     self.assertEqual(
         skdb.Unit('1m') + skdb.Unit('1yd'), skdb.Unit('1.9144m'))
Exemplo n.º 9
0
 def test_nonscalar(self):
     self.assertEqual(skdb.Unit('tempF(212)'), skdb.Unit('tempC(100)'))
Exemplo n.º 10
0
 def test_compatible(self):
     self.assertTrue(skdb.Unit('25.4mm').compatible(skdb.Unit('in')))
     self.assertFalse(skdb.Unit('inch').compatible(skdb.Unit('second')))
     self.assertTrue(skdb.Unit('inch').compatible('inch'))
     self.assertFalse(skdb.Unit('inch').compatible('blargh'))
Exemplo n.º 11
0
    def test_negative_cmp(
        self
    ):  #this may not even make any sense in terms of real measurements, since they should never be negative
        self.assertFalse(skdb.Unit('1') < skdb.Unit('-10'))
        self.assertTrue(skdb.Unit('1') > skdb.Unit('-10'))

        self.assertTrue(skdb.Unit('1') > skdb.Unit('0'))
        self.assertTrue(skdb.Unit('0') > skdb.Unit('-1'))
        self.assertTrue(skdb.Unit('1') > skdb.Unit('-1'))
        self.assertTrue(skdb.Unit('1') < skdb.Unit('0'))
        self.assertTrue(skdb.Unit('0') < skdb.Unit('-1'))
        self.assertTrue(skdb.Unit('1') < skdb.Unit('-1'))
        #now, to the left!
        self.assertFalse(skdb.Unit('0') > skdb.Unit('1'))
        self.assertFalse(skdb.Unit('-1') > skdb.Unit('0'))
        self.assertFalse(skdb.Unit('-1') > skdb.Unit('1'))
        self.assertFalse(skdb.Unit('0') < skdb.Unit('1'))
        self.assertFalse(skdb.Unit('-1') < skdb.Unit('0'))
        self.assertFalse(skdb.Unit('-1') < skdb.Unit('1'))

        self.assertTrue(skdb.Unit('0') >= skdb.Unit('0'))
Exemplo n.º 12
0
 def test_yaml_units(self): 
     import yaml
     try: yaml.dump(skdb.Unit('1')) #this blew up once for some reason
     except skdb.UnitError: return False
Exemplo n.º 13
0
 def test_units(self):
     testrange = skdb.load('1..2m')
     self.assertEqual(testrange.min, skdb.Unit('1m'))
     self.assertEqual(testrange.max, skdb.Unit('2m'))
Exemplo n.º 14
0
 def test_compatibility(self):
     m1 = skdb.Unit("m")
     m2 = sympycore.physics.units.Unit("m")
     self.assertTrue(m1.compatible(m2))
Exemplo n.º 15
0
 def test_compound_quantities(self):
     m1 = skdb.Unit("m**2/m**3")
     m2 = quantities.CompoundUnit("m**2/m**3")
     self.assertTrue(m1.compatible(m2))
Exemplo n.º 16
0
 def test_conversion(self):
     self.assertEqual(skdb.Unit('25.4mm').to('in').string, '1.0*in')
     self.assertRaises(skdb.UnitError, skdb.Unit('60 degrees').to, 'rad')
     self.assertRaises(skdb.UnitError, skdb.Unit('60 degrees').to, 'fart')
Exemplo n.º 17
0
 def test_supplemental_units(self):
     self.assertTrue(skdb.Unit('man').check())
     self.assertTrue(skdb.Unit('5*teeth').compatible('tooth'))
Exemplo n.º 18
0
 def test_somethingorother(self):  #is this even desirable?
     self.assertTrue(skdb.Unit('1') > 0.9)
Exemplo n.º 19
0
 def test_one_labeled_equal(self):
     self.assertEqual(skdb.load('1..2m'), skdb.Range(skdb.Unit('1m'), skdb.Unit('2m')))
Exemplo n.º 20
0
 def test_order_of_operations(self):
     self.assertEqual(
         skdb.Unit('25.4mm').to('inch'),
         skdb.Unit('in').to('25.4mm'))
     self.assertEqual(skdb.Unit('2mm'), skdb.Unit('sqrt(4mm^2)'))
Exemplo n.º 21
0
 def index(self, *extra, **keywords):
     if len(keywords)==2:
         first = skdb.Unit(keywords[keywords.keys()[0]])
         second = skdb.Unit(keywords[keywords.keys()[1]])
         return str(first.to(second))
     else: raise cherrypy.HTTPError(404, "try units/?one=50+m&two=km")
Exemplo n.º 22
0
 def test_cmp(self):
     self.assertTrue(skdb.Unit('1') >= skdb.Unit('1'))
     self.assertTrue(skdb.Unit('1') <= skdb.Unit('1'))
     self.assertTrue(skdb.Unit('1m') <= skdb.Unit('1000mm'))
     self.assertTrue(skdb.Unit('1m') <= skdb.Unit('1000mm'))
     self.assertFalse(skdb.Unit('1') < skdb.Unit('1'))
     self.assertFalse(skdb.Unit('1') > skdb.Unit('1'))
     self.assertTrue(skdb.Unit('1m') < skdb.Unit('1001mm'))