Package nMOLDYN :: Package Tests :: Module AnalysisTests
[hide private]
[frames] | no frames]

Source Code for Module nMOLDYN.Tests.AnalysisTests

 1  """ 
 2  Test cases for analysis modules. 
 3      - testCorrelation1: test for the autocorrelation of a single time serie. 
 4      - testCorrelation2: test for the autocorrelation of a two dimensional time serie. 
 5      - testCorrelation3: another test for the autocorrelation of a two dimensional time serie. 
 6  """ 
 7   
 8  import unittest 
 9   
10  from Scientific.N import array, zeros 
11   
12  from nMoldyn.Core.Mathematics.Analysis import correlation 
13   
14 -class AnalysisTest(unittest.TestCase):
15 16 """ 17 Tests Analysis module functionnalities. 18 """ 19
20 - def setUp(self):
21 # The time serie for test 1 22 self.series1 = array([0,1,0,4,6,5]) 23 # The theoretical result for test 1 24 self.results1 = array([13.0,10.8,6.0,2.0,2.5,0.0]) 25 26 # The time serie for test 2 27 self.series2 = array([ 28 [0,0,0,0,0,0,0,0,0,0], 29 [1,1,1,1,1,1,1,1,1,1], 30 [0,0,0,0,0,0,0,0,0,0], 31 [4,4,4,4,4,4,4,4,4,4], 32 [6,6,6,6,6,6,6,6,6,6], 33 [5,5,5,5,5,5,5,5,5,5] 34 ]) 35 # The theoretical result for test 2 36 self.results2 = array([130.0,108.0,60.0,20.0,25.0,0.0]) 37 38 # The time serie for test 3 39 self.series3 = array([ 40 [0,2,0], 41 [1,1,-1], 42 [0,1,0], 43 [4,0,-4], 44 [6,5,0], 45 [5,0,3] 46 ]) 47 48 # The theoretical result for test 3 49 self.results3 = array([22.5,11.4,5.75,11.0/3,6,0])
50
51 - def testCorrelation1(self):
52 corr = correlation(self.series1) 53 errorMax = max(abs(corr-self.results1)) 54 self.assertAlmostEqual(errorMax, 0.0, 10)
55
56 - def testCorrelation2(self):
57 corr = correlation(self.series2) 58 errorMax = max(abs(corr-self.results2)) 59 self.assertAlmostEqual(errorMax, 0.0, 10)
60
61 - def testCorrelation3(self):
62 corr = correlation(self.series3) 63 errorMax = max(abs(corr-self.results3)) 64 self.assertAlmostEqual(errorMax, 0.0, 10)
65 66 if __name__ == '__main__': 67 unittest.main() 68