dockonsurf / tests / test_dos_input.py @ 9fd1daa6
Historique | Voir | Annoter | Télécharger (5,58 ko)
1 | 4607d5ea | Carles | import sys |
---|---|---|---|
2 | 4607d5ea | Carles | import unittest |
3 | 95dc2c8e | Carles | sys.path.extend(['../', '../modules', '../examples']) |
4 | 95dc2c8e | Carles | |
5 | 4607d5ea | Carles | from dos_input import * |
6 | 4607d5ea | Carles | |
7 | 4607d5ea | Carles | |
8 | 4607d5ea | Carles | class TestStr2Lst(unittest.TestCase): |
9 | 4607d5ea | Carles | def test_norm_behav(self): |
10 | 4607d5ea | Carles | self.assertEqual(str2lst('45'), [45]) |
11 | 4607d5ea | Carles | self.assertEqual(str2lst('(78, 9)'), [[78, 9]]) |
12 | 4607d5ea | Carles | self.assertEqual(str2lst('128,(135 138;141) 87 {45 68}'), |
13 | 4607d5ea | Carles | [128, 87, [135, 138, 141], [45, 68]]) |
14 | 4607d5ea | Carles | |
15 | 4607d5ea | Carles | def test_exceptions(self): |
16 | 4607d5ea | Carles | self.assertRaises(AttributeError, str2lst, 6) |
17 | 4607d5ea | Carles | self.assertRaises(ValueError, str2lst, 'hola') |
18 | 4607d5ea | Carles | self.assertRaises(ValueError, str2lst, '3 ((6 7) 8) 4') |
19 | 4607d5ea | Carles | |
20 | 4607d5ea | Carles | |
21 | 4607d5ea | Carles | class TestGoodInput(unittest.TestCase): |
22 | 4607d5ea | Carles | read_input('good.inp')
|
23 | 4607d5ea | Carles | |
24 | 4607d5ea | Carles | def test_all_good(self): |
25 | 9fd1daa6 | Carles | exp_dict = {'project_name': 'example', |
26 | 9fd1daa6 | Carles | 'isolated': True, |
27 | 4607d5ea | Carles | 'screening': True, |
28 | 4607d5ea | Carles | 'refinement': True, |
29 | 4607d5ea | Carles | 'code': 'cp2k', |
30 | 4607d5ea | Carles | 'batch_q_sys': 'sge', |
31 | 9fd1daa6 | Carles | 'subm_script': 'cp2k.sub', |
32 | 4607d5ea | Carles | 'relaunch_err': 'geo_not_conv', |
33 | 4607d5ea | Carles | 'max_qw': 5, |
34 | 4607d5ea | Carles | 'special_atoms': [('Fe1', 'Fe'), ('Fe2', 'Fe'), |
35 | 4607d5ea | Carles | ('O1', 'O')], |
36 | 4607d5ea | Carles | 'isol_inp_file': 'isolated.inp', |
37 | 95dc2c8e | Carles | 'molec_file': 'acetic.xyz', |
38 | 4607d5ea | Carles | 'cluster_magns': ['energy', 'moi'], |
39 | 4607d5ea | Carles | 'num_conformers': 100, |
40 | b1f6e69d | Carles | 'min_confs': False, |
41 | 4607d5ea | Carles | 'screen_inp_file': 'screen.inp', |
42 | 4607d5ea | Carles | 'sites': [128, [135, 138, 141]], |
43 | 4607d5ea | Carles | 'molec_ads_ctrs': [178, [185, 187]], |
44 | 4607d5ea | Carles | 'try_disso': True, |
45 | 4607d5ea | Carles | 'sample_points_per_angle': 4, |
46 | 4607d5ea | Carles | 'collision_threshold': 0.9, |
47 | 4607d5ea | Carles | 'collision_bottom_z': 5.2, |
48 | 4607d5ea | Carles | 'refine_inp_file': 'refine.inp', |
49 | 4607d5ea | Carles | 'energy_cutoff': 1.0 |
50 | 4607d5ea | Carles | } |
51 | 4607d5ea | Carles | self.assertEqual(read_input('good.inp'), exp_dict) |
52 | 4607d5ea | Carles | |
53 | 9fd1daa6 | Carles | # TODO add single tests for subm_script and project_name
|
54 | 9fd1daa6 | Carles | |
55 | 4607d5ea | Carles | def test_run_type(self): |
56 | 4607d5ea | Carles | self.assertEqual(get_run_type(), (True, True, True)) |
57 | 4607d5ea | Carles | |
58 | 4607d5ea | Carles | def test_code(self): |
59 | 4607d5ea | Carles | self.assertEqual(get_code(), 'cp2k') |
60 | 4607d5ea | Carles | |
61 | 4607d5ea | Carles | def test_batch_q_sys(self): |
62 | 4607d5ea | Carles | self.assertEqual(get_batch_q_sys(), 'sge') |
63 | 4607d5ea | Carles | |
64 | 4607d5ea | Carles | def test_relaunch_err(self): |
65 | 4607d5ea | Carles | self.assertEqual(get_relaunch_err(), 'geo_not_conv') |
66 | 4607d5ea | Carles | |
67 | 4607d5ea | Carles | def test_max_qw(self): |
68 | 4607d5ea | Carles | self.assertEqual(get_max_qw(), 5) |
69 | 4607d5ea | Carles | |
70 | 4607d5ea | Carles | def test_special_atoms(self): |
71 | 4607d5ea | Carles | self.assertEqual(get_special_atoms(), [('Fe1', 'Fe'), ('Fe2', 'Fe'), |
72 | 4607d5ea | Carles | ('O1', 'O')]) |
73 | 4607d5ea | Carles | |
74 | 4607d5ea | Carles | def test_isol_inp_file(self): |
75 | 4607d5ea | Carles | self.assertEqual(get_isol_inp_file(), 'isolated.inp') |
76 | 4607d5ea | Carles | |
77 | 95dc2c8e | Carles | def test_molec_file(self): |
78 | 95dc2c8e | Carles | print(os.getcwd()) |
79 | 95dc2c8e | Carles | self.assertEqual(get_molec_file(), 'acetic.xyz') |
80 | 95dc2c8e | Carles | |
81 | 4607d5ea | Carles | def test_cluster_magns(self): |
82 | 4607d5ea | Carles | self.assertEqual(get_cluster_magns(), ['energy', 'moi']) |
83 | 4607d5ea | Carles | |
84 | 4607d5ea | Carles | def test_num_conformers(self): |
85 | 4607d5ea | Carles | self.assertEqual(get_num_conformers(), 100) |
86 | 4607d5ea | Carles | |
87 | b1f6e69d | Carles | def test_min_confs(self): |
88 | b1f6e69d | Carles | self.assertEqual(get_min_confs(), False) |
89 | b1f6e69d | Carles | |
90 | 4607d5ea | Carles | def test_screen_inp_file(self): |
91 | 4607d5ea | Carles | self.assertEqual(get_screen_inp_file(), 'screen.inp') |
92 | 4607d5ea | Carles | |
93 | 4607d5ea | Carles | def test_sites(self): |
94 | 4607d5ea | Carles | self.assertEqual(get_sites(), [128, [135, 138, 141]]) |
95 | 4607d5ea | Carles | |
96 | 4607d5ea | Carles | def test_molec_ads_ctrs(self): |
97 | 4607d5ea | Carles | self.assertEqual(get_molec_ads_ctrs(), [178, [185, 187]]) |
98 | 4607d5ea | Carles | |
99 | 4607d5ea | Carles | def test_try_disso(self): |
100 | 4607d5ea | Carles | self.assertEqual(get_try_disso(), True) |
101 | 4607d5ea | Carles | |
102 | 4607d5ea | Carles | def test_pts_per_angle(self): |
103 | 4607d5ea | Carles | self.assertEqual(get_pts_per_angle(), 4) |
104 | 4607d5ea | Carles | |
105 | 4607d5ea | Carles | def test_coll_thrsld(self): |
106 | 4607d5ea | Carles | self.assertEqual(get_coll_thrsld(), 0.9) |
107 | 4607d5ea | Carles | |
108 | 4607d5ea | Carles | def test_coll_bottom_z(self): |
109 | 4607d5ea | Carles | self.assertEqual(get_coll_bottom_z(), 5.2) |
110 | 4607d5ea | Carles | |
111 | 4607d5ea | Carles | def test_refine_inp_file(self): |
112 | 4607d5ea | Carles | self.assertEqual(get_refine_inp_file(), 'refine.inp') |
113 | 4607d5ea | Carles | |
114 | 4607d5ea | Carles | def test_energy_cutoff(self): |
115 | 4607d5ea | Carles | self.assertEqual(get_energy_cutoff(), 1.0) |
116 | 4607d5ea | Carles | |
117 | 4607d5ea | Carles | |
118 | 4607d5ea | Carles | class TestBadInput(unittest.TestCase): |
119 | 4607d5ea | Carles | dos_inp.read('wrong.inp')
|
120 | 4607d5ea | Carles | |
121 | 4607d5ea | Carles | def test_run_type(self): |
122 | 4607d5ea | Carles | self.assertRaises(ValueError, get_run_type) |
123 | 4607d5ea | Carles | |
124 | 4607d5ea | Carles | def test_code(self): |
125 | 4607d5ea | Carles | self.assertRaises(ValueError, get_code) |
126 | 4607d5ea | Carles | |
127 | 4607d5ea | Carles | def test_batch_q_sys(self): |
128 | 4607d5ea | Carles | self.assertRaises(ValueError, get_batch_q_sys) |
129 | 4607d5ea | Carles | |
130 | 4607d5ea | Carles | def test_relaunch_err(self): |
131 | 4607d5ea | Carles | self.assertRaises(ValueError, get_relaunch_err) |
132 | 4607d5ea | Carles | |
133 | 4607d5ea | Carles | def test_max_qw(self): |
134 | 4607d5ea | Carles | self.assertRaises(ValueError, get_max_qw) |
135 | 4607d5ea | Carles | |
136 | 4607d5ea | Carles | def test_special_atoms(self): |
137 | 4607d5ea | Carles | self.assertRaises(ValueError, get_special_atoms) |
138 | 4607d5ea | Carles | |
139 | 4607d5ea | Carles | def test_isol_inp_file(self): |
140 | 4607d5ea | Carles | self.assertRaises(FileNotFoundError, get_isol_inp_file)
|
141 | 4607d5ea | Carles | |
142 | 4607d5ea | Carles | def test_cluster_magns(self): |
143 | 4607d5ea | Carles | self.assertRaises(ValueError, get_cluster_magns) |
144 | 4607d5ea | Carles | |
145 | 4607d5ea | Carles | def test_num_conformers(self): |
146 | 4607d5ea | Carles | self.assertRaises(ValueError, get_num_conformers) |
147 | 4607d5ea | Carles | |
148 | b1f6e69d | Carles | def test_min_confs(self): |
149 | b1f6e69d | Carles | self.assertRaises(ValueError, get_min_confs) |
150 | b1f6e69d | Carles | |
151 | 4607d5ea | Carles | def test_screen_inp_file(self): |
152 | 4607d5ea | Carles | self.assertRaises(FileNotFoundError, get_screen_inp_file)
|
153 | 4607d5ea | Carles | |
154 | 4607d5ea | Carles | def test_sites(self): |
155 | 4607d5ea | Carles | self.assertRaises(ValueError, get_sites) |
156 | 4607d5ea | Carles | |
157 | 4607d5ea | Carles | def test_molec_ads_ctrs(self): |
158 | 4607d5ea | Carles | self.assertRaises(ValueError, get_molec_ads_ctrs) |
159 | 4607d5ea | Carles | |
160 | 4607d5ea | Carles | def test_try_disso(self): |
161 | 4607d5ea | Carles | self.assertRaises(ValueError, get_try_disso) |
162 | 4607d5ea | Carles | |
163 | 4607d5ea | Carles | def test_pts_per_angle(self): |
164 | 4607d5ea | Carles | self.assertRaises(ValueError, get_pts_per_angle) |
165 | 4607d5ea | Carles | |
166 | 4607d5ea | Carles | def test_coll_thrsld(self): |
167 | 4607d5ea | Carles | self.assertRaises(ValueError, get_coll_thrsld) |
168 | 4607d5ea | Carles | |
169 | 4607d5ea | Carles | def test_coll_bottom_z(self): |
170 | 4607d5ea | Carles | self.assertRaises(ValueError, get_coll_bottom_z) |
171 | 4607d5ea | Carles | |
172 | 4607d5ea | Carles | def test_refine_inp_file(self): |
173 | 4607d5ea | Carles | self.assertRaises(FileNotFoundError, get_refine_inp_file)
|
174 | 4607d5ea | Carles | |
175 | 4607d5ea | Carles | def test_energy_cutoff(self): |
176 | 4607d5ea | Carles | self.assertRaises(ValueError, get_energy_cutoff) |
177 | 4607d5ea | Carles | |
178 | 4607d5ea | Carles | |
179 | 4607d5ea | Carles | if __name__ == '__main__': |
180 | 4607d5ea | Carles | unittest.main() |