1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 from os import sep
24 from re import search
25 from tempfile import mktemp
26
27
28 from status import Status; status = Status()
29 from test_suite.system_tests.base_classes import SystemTestCase
30
31
32 -class Grace(SystemTestCase):
33 """Class for testing the creation of grace plots."""
34
36 """Common set up for these system tests."""
37
38
39 self.tmpfile = mktemp()
40
41
43 """Test the plotting of the 15N data from the CaM-KKalpha save state."""
44
45
46 self.interpreter.state.load('state_cam_kkalpha', dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'saved_states')
47
48
49 self.interpreter.grace.write('res_num', 's2', file=self.tmpfile, spin_id='@N', dir=None)
50
51
52 file = open(self.tmpfile)
53 lines = file.readlines()
54 file.close()
55
56
57 spin = []
58 value = []
59 error = []
60
61
62 in_data = False
63 for i in range(len(lines)):
64
65 if search('G0.S0', lines[i]):
66 in_data=True
67 continue
68
69
70 if not in_data:
71 continue
72
73
74 if search('^@', lines[i]):
75 continue
76
77
78 if search('^&', lines[i]):
79 break
80
81
82 row = lines[i].split()
83
84
85 spin.append(float(row[0]))
86 value.append(float(row[1]))
87 error.append(float(row[2]))
88
89
90 real_data = [
91 [2, 0.693, 0.005],
92 [3, 0.400, 0.000],
93 [4, 0.882, 0.008],
94 [5, 0.901, 0.001],
95 [6, 0.953, 0.014],
96 [7, 0.905, 0.000],
97 [8, 0.939, 0.007],
98 [9, 0.948, 0.003],
99 [10, 0.957, 0.004]
100 ]
101
102
103 self.assertEqual(len(real_data), len(spin))
104
105
106 for i in range(len(real_data)):
107 self.assertEqual(float(real_data[i][0]), spin[i])
108 self.assertAlmostEqual(real_data[i][1], value[i])
109 self.assertAlmostEqual(real_data[i][2], error[i])
110