IODA Bundle
test.py
Go to the documentation of this file.
1 import odb
2 import pyodbapi
3 import unittest
4 
5 class TestPython(unittest.TestCase):
6 
7  def setUp(self):
8  self.fnfn = '../oda/some_conv_2011-01-08.odb'
9  self.bitfieldsbitfields=[19, 20, 21, 30, 31, 32, 33,]
10 
11  def testSelectFromFile(self):
12  sql = 'select lat,lon,obsvalue from "' + self.fnfn + '"'
13  self.assertTrue( 15719 == len([r for r in odb.sql(sql)]) )
14 
15  def testOpenFile(self):
16  o = odb.open(self.fnfn)
17  allRows = 0
18 
19  for r in o:
20  stream1, lat1, lon1 = r[0, 'lat','lon']
21 
22  stream2, (lat2, lon2, obsvalue2) = r[(0, ('lat','lon', 'obsvalue'))]
23  self.assertTrue( (stream1, lat1, lon1) == (stream2, lat2, lon2) )
24 
25  allRows += 1
26  if allRows > 50: break
27 
28  rr = r[:]
29  self.assertTrue (rr[1:10:2] == r[1:10:2])
30  self.assertTrue (rr[2:10:3] == r[2:10:3])
31  self.assertTrue (rr[10:1:-1] == r[10:1:-1])
32  self.assertTrue (rr[10:1:1] == r[10:1:1])
33  self.assertTrue (rr[-1:1:1] == r[-1:1:1])
34 
35  md = r.columns()
36  self.assertTrue(49, len(md))
37  for c in md:
38  print c.name(), c.type(), c.missingValue()
39  self.assertTrue(c.name() == 'expver')
40  self.assertTrue(c.type() == 3)
41  self.assertTrue(c.missingValue() == -2147483647.0)
42  break
43 
44  def testSyntaxError(self):
45  def rows(s): return [r[:] for r in odb.sql(s)]
46  self.assertRaises(SyntaxError, rows, 'foo bar')
47 
48  def testBitfields(self):
49  """
50  TODO:
51  """
52  for r in odb.open(self.fnfn):
53  print 'elements: ', ",".join([ str(i) + ':' + str(r[i]) for i in self.bitfieldsbitfields])
54  print r[0:44]
55  break
56 
57 if __name__ == '__main__':
58  unittest.main()
def testOpenFile(self)
Definition: test.py:15
def testSyntaxError(self)
Definition: test.py:44
def testSelectFromFile(self)
Definition: test.py:11
def setUp(self)
Definition: test.py:7
def testBitfields(self)
Definition: test.py:48