/[ascend]/trunk/pygtk/test.py
ViewVC logotype

Diff of /trunk/pygtk/test.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 939 by johnpye, Fri Nov 24 06:09:46 2006 UTC revision 940 by johnpye, Fri Nov 24 08:07:33 2006 UTC
# Line 1  Line 1 
1  import unittest  import unittest
2  import ascpy  import ascpy
3    import math
4    
5  class AscendTest(unittest.TestCase):  class AscendTest(unittest.TestCase):
6    
# Line 11  class AscendTest(unittest.TestCase): Line 12  class AscendTest(unittest.TestCase):
12          self.L.clear()          self.L.clear()
13          del self.L          del self.L
14    
     def testIDA(self):  
         try:  
             self.L.load('johnpye/shm.a4c')  
             M = self.L.findType('shm').getSimulation('sim')  
             I = ascpy.Integrator(M)  
             I.setReporter(ascpy.IntegratorReporterCxx(I))  
             I.setEngine('LSODE');  
             I.setLinearTimesteps(ascpy.Units("s"), 0.0, 100.0, 100);  
             I.setMinSubStep(0.005);  
             I.setMaxSubStep(0.5);  
             I.setInitialSubStep(0.01);  
             I.setMaxSubSteps(100);  
             I.analyse();  
             I.solve();  
             print "OBSERVED %d VARS" % I.getNumObservedVars()  
         except Exception,e:  
             self.fail(str(e))  
   
   
15      def testlog10(self):      def testlog10(self):
16          self.L.load('johnpye/testlog10.a4c')          self.L.load('johnpye/testlog10.a4c')
17          T = self.L.findType('testlog10')          T = self.L.findType('testlog10')
# Line 37  class AscendTest(unittest.TestCase): Line 19  class AscendTest(unittest.TestCase):
19          M.solve(ascpy.Solver("QRSlv"),ascpy.SolverReporter())                M.solve(ascpy.Solver("QRSlv"),ascpy.SolverReporter())      
20          M.run(T.getMethod('self_test'))              M.run(T.getMethod('self_test'))    
21    
22        def testLSODE(self):
23            self.L.load('johnpye/shm.a4c')
24            M = self.L.findType('shm').getSimulation('sim')
25            print M.sim.getChildren()
26            assert float(M.sim.x) == 10.0
27            assert float(M.sim.v) == 0.0
28            t_end = 3 * math.pi
29    
30            I = ascpy.Integrator(M)
31            I.setReporter(ascpy.IntegratorReporterNull(I))
32            I.setEngine('LSODE');
33            I.setLinearTimesteps(ascpy.Units("s"), 0.0, t_end, 100);
34            I.setMinSubStep(0.005);
35            I.setMaxSubStep(0.5);
36            I.setInitialSubStep(0.01);
37            I.setMaxSubSteps(100);
38            I.analyse();
39            I.solve();
40            assert abs(float(M.sim.x) + 10) < 1e-2
41            assert abs(float(M.sim.v)) < 1e-2
42            assert I.getNumObservedVars() == 3
43    
44  class NotToBeTested:  class NotToBeTested:
45      def nothing(self):      def nothing(self):
46          pass          pass

Legend:
Removed from v.939  
changed lines
  Added in v.940

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22