1 | # Process with autom4te to create an -*- Autotest -*- test suite.
|
---|
2 |
|
---|
3 |
|
---|
4 | AT_INIT([Molecular Builder])
|
---|
5 |
|
---|
6 | # Checking if command line options are parsed correctly
|
---|
7 | AT_BANNER([MoleCuilder - standard options])
|
---|
8 | AT_SETUP([Standard Options])
|
---|
9 | AT_CHECK([pwd],[ignore],[ignore])
|
---|
10 | AT_CHECK([../../molecuilder -v], 0, [stdout], [ignore])
|
---|
11 | AT_CHECK([fgrep molecuilder stdout], 0, [ignore], [ignore])
|
---|
12 | AT_CHECK([../../molecuilder -h], 0, [stdout], [ignore])
|
---|
13 | AT_CHECK([fgrep "Give this help screen" stdout], 0, [ignore], [ignore])
|
---|
14 | AT_CLEANUP
|
---|
15 |
|
---|
16 | AT_BANNER([MoleCuilder - simple command line tests])
|
---|
17 | AT_SETUP([Simple configuration])
|
---|
18 | # 1. create a fake element database with the only element we need
|
---|
19 | AT_DATA([elements.db],[# Covalent radius of each element in Angstroem from CSD (binding is: [Rcov(A)+Rcov(B)-t,Rcov(A)+Rcov(B)+t] with t = 0.4A
|
---|
20 | #Element Name Symbol Period Group Block Atomic Number AtomicWeight Covalent Radius vdW Radius
|
---|
21 | Hydrogen H 1 1 s 1 1.008 0.23 1.09
|
---|
22 | ])
|
---|
23 | # 2. create some simplest molecular geometry
|
---|
24 | AT_DATA([test.xyz], [[1
|
---|
25 | # test configuration, created by molecuilder test suite
|
---|
26 | H 10. 10. 10.
|
---|
27 | ]])
|
---|
28 | # 3. make sure config is empty and not remnant from last test with broken dirs
|
---|
29 | AT_DATA([test.conf], [])
|
---|
30 | AT_CHECK([../../molecuilder test.conf -e elements.db -p test.xyz], 0, [ignore], [ignore])
|
---|
31 | AT_CHECK([fgrep "Ion_Type1_1" test.conf], 0, [Ion_Type1_1 10.000000000 10.000000000 10.000000000 0 # Number in molecule 0
|
---|
32 | ], [ignore])
|
---|
33 | AT_DATA([input], [aa 10. 10. 10. 1
|
---|
34 | s
|
---|
35 | q
|
---|
36 | ])
|
---|
37 | AT_CHECK([../../molecuilder -e elements.db <input], 0, [ignore], [ignore])
|
---|
38 | AT_CHECK([diff main_pcp_linux test.conf], 0, [ignore], [ignore])
|
---|
39 | AT_CLEANUP
|
---|
40 |
|
---|
41 | AT_BANNER([MoleCuilder - Fragmentation test])
|
---|
42 | AT_SETUP([Fragmentation])
|
---|
43 | # 1. create a fake element database with the only two elements we need
|
---|
44 | AT_DATA([elements.db],[# Covalent radius of each element in Angstroem from CSD (binding is: [Rcov(A)+Rcov(B)-t,Rcov(A)+Rcov(B)+t] with t = 0.4A
|
---|
45 | #Element Name Symbol Period Group Block Atomic Number AtomicWeight Covalent Radius vdW Radius
|
---|
46 | Hydrogen H 1 1 s 1 1.008 0.23 1.09
|
---|
47 | Carbon C 2 14 p 6 12.011 0.68 1.70
|
---|
48 | ])
|
---|
49 | # 2. create molecular geometry
|
---|
50 | AT_DATA([test.xyz], [[11
|
---|
51 | # test configuration, created by molecuilder test suite
|
---|
52 | C 9.782085945 3.275186040 3.535886037
|
---|
53 | C 8.532785963 4.158586027 3.535886037
|
---|
54 | C 7.283585982 3.275186040 3.535886037
|
---|
55 | H 9.782085945 2.645886050 2.645886050
|
---|
56 | H 9.782085945 2.645886050 4.425886024
|
---|
57 | H 10.672039608 3.904536878 3.535886037
|
---|
58 | H 8.532785963 4.787886018 2.645886050
|
---|
59 | H 8.532785963 4.787886018 4.425886024
|
---|
60 | H 6.393632318 3.904536877 3.535886037
|
---|
61 | H 7.283585982 2.645886050 2.645886050
|
---|
62 | H 7.283585982 2.645886050 4.425886024
|
---|
63 | ]])
|
---|
64 | # 3. make sure config is empty and not remnant from last test with broken dirs
|
---|
65 | AT_DATA([test.conf], [])
|
---|
66 | # 4. create the config and check it
|
---|
67 | AT_CHECK([../../molecuilder test.conf -e elements.db -p test.xyz], 0, [ignore], [ignore])
|
---|
68 | AT_CHECK([fgrep "Ion_Type1_4" test.conf], 0, [Ion_Type1_4 8.532785963 4.787886018 2.645886050 0 # Number in molecule 6
|
---|
69 | ], [ignore])
|
---|
70 | AT_CHECK([fgrep "Ion_Type2_4" test.conf], 1, [ignore], [ignore])
|
---|
71 | # 5. fragment the molecule and check the number of configs
|
---|
72 | AT_CHECK([../../molecuilder test.conf -e elements.db -f 1.55 2 A], 0, [ignore], [ignore], [mkdir std; mv BondFragment*.conf* std/])
|
---|
73 | AT_CHECK([mkdir std; mv BondFragment*.conf* std/], 0)
|
---|
74 | AT_CHECK([ls -l std/BondFragment*.conf | wc -l], 0, [5
|
---|
75 | ], [ignore])
|
---|
76 | AT_CHECK([../../molecuilder test.conf -e elements.db -f 1.55 2 A], 0, [ignore], [ignore], [mkdir new; mv BondFragment*.conf* new/])
|
---|
77 | AT_CHECK([mkdir new; mv BondFragment*.conf* new/], 0)
|
---|
78 | # 6. compare both dirs by diff'ing
|
---|
79 | AT_CHECK([diff -I '.*Created by molecuilder.*' std/ new/], 0, [], [])
|
---|
80 | AT_CLEANUP
|
---|
81 |
|
---|