OpenMPCD
test_LogicalEntityMeanSquareDisplacement.py
1 import pytest
2 
4  import LogicalEntityMeanSquareDisplacement
5 
6 def test___init__():
7  import os
8  dataPath = os.path.dirname(os.path.abspath(__file__))
9  dataPath += "/data/"
10 
11  with pytest.raises(TypeError):
12  LogicalEntityMeanSquareDisplacement(0)
13 
14  with pytest.raises(ValueError):
15  LogicalEntityMeanSquareDisplacement(dataPath + "nonexistent")
16 
17  with pytest.raises(ValueError):
18  LogicalEntityMeanSquareDisplacement([])
19 
20 
21 def test_referenceData():
22  import os
23  dataPath = os.path.dirname(os.path.abspath(__file__))
24  dataPath += "/data/test_LogicalEntityMeanSquareDisplacement/"
25 
26  runPath1 = dataPath + "run1"
27  runPath2 = dataPath + "run2"
28 
29  expectedPath1 = dataPath + "expected1"
30  expectedPath2 = dataPath + "expected2"
31  expectedPath12 = dataPath + "expected12"
32 
33 
34  msd1 = LogicalEntityMeanSquareDisplacement(runPath1)
35  msd2 = LogicalEntityMeanSquareDisplacement(runPath2)
36  msd12 = LogicalEntityMeanSquareDisplacement([runPath1, runPath2])
37 
38  assert msd1.getMaximumMeasurementTime() == 1000
39  assert msd2.getMaximumMeasurementTime() == 1000
40  assert msd12.getMaximumMeasurementTime() == 1000
41 
42  results1 = {}
43  for deltaT in range(1, msd1.getMaximumMeasurementTime() + 1):
44  results1[deltaT] = msd1.getMeanSquareDisplacement(deltaT)
45  results2 = {}
46  for deltaT in range(1, msd2.getMaximumMeasurementTime() + 1):
47  results2[deltaT] = msd2.getMeanSquareDisplacement(deltaT)
48  results12 = {}
49  for deltaT in range(1, msd12.getMaximumMeasurementTime() + 1):
50  results12[deltaT] = msd12.getMeanSquareDisplacement(deltaT)
51 
52 
53  import pickle
54 
55  #to create the files containing expeted values:
56  #with open(expectedPath1, "wb") as f:
57  # pickle.dump(results1, f)
58  #with open(expectedPath2, "wb") as f:
59  # pickle.dump(results2, f)
60  #with open(expectedPath12, "wb") as f:
61  # pickle.dump(results12, f)
62 
63  with open(expectedPath1, "rb") as f:
64  expected1 = pickle.load(f)
65  with open(expectedPath2, "rb") as f:
66  expected2 = pickle.load(f)
67  with open(expectedPath12, "rb") as f:
68  expected12 = pickle.load(f)
69 
70 
71  assert expected1 == results1
72  assert expected2 == results2
73  assert expected12 == results12
MPCDAnalysis.LogicalEntityMeanSquareDisplacement
Definition: LogicalEntityMeanSquareDisplacement.py:1