new_contents: import unittest
  import adskalman
  import numpy
  
  class TestKalman(unittest.TestCase):
      def test_kalman1(self,time_steps=100,Qsigma=0.1,Rsigma=0.5):
          dt = 0.1
          # process model
          A = numpy.array([[1, 0, dt, 0],
                           [0, 1, 0, dt],
                           [0, 0, 1,  0],
                           [0, 0, 0,  1]],
                          dtype=numpy.float64)
          # observation model
          C = numpy.array([[1, 0, 0, 0],
                           [0, 1, 0, 0]],
                          dtype=numpy.float64)
          # process covariance
          Q = Qsigma*numpy.eye(4)
          # measurement covariance
          R = Rsigma*numpy.eye(2)
          
          x = numpy.array([0,0,0,0])
          x += Qsigma*numpy.random.standard_normal(x.shape)
          
          kf = adskalman.KalmanFilter(A,C,Q,R,x,Q)
          y = numpy.dot(C,x)
          y += Rsigma*numpy.random.standard_normal(y.shape)
  
          xs = []
          xhats = []
          for i in range(time_steps):
              if i==0: isinitial=True
              else: isinitial = False
              
              xhat,P = kf.step(y=y, isinitial=isinitial)
  
              # calculate new state
              x = numpy.dot(A,x) + Qsigma*numpy.random.standard_normal(x.shape)
              # and new observation
              y = numpy.dot(C,x) + Rsigma*numpy.random.standard_normal(y.shape)
          
              #print y,xhat
              xs.append(x)
              xhats.append( xhat )
          xs = numpy.array(xs)
          xhats = numpy.array(xhats)
          # XXX some comparison between xs and xhats
  
  def get_test_suite():
      ts=unittest.TestSuite([unittest.makeSuite(TestKalman),
                             ])
      return ts
  
  if __name__=='__main__':
      unittest.main()
  
subject: add rudimentary Kalman tests