[f3cba6] | 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], [])
|
---|
[1fa5b7] | 30 | AT_CHECK([../../molecuilder test.conf -e elements.db -p test.xyz], 0, [ignore], [ignore])
|
---|
[f3cba6] | 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])
|
---|
[1fa5b7] | 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])
|
---|
[f3cba6] | 39 | AT_CLEANUP
|
---|
| 40 |
|
---|
[3c1dfb] | 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
|
---|
[1fa5b7] | 67 | AT_CHECK([../../molecuilder test.conf -e elements.db -p test.xyz], 0, [ignore], [ignore])
|
---|
[3c1dfb] | 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
|
---|
[1fa5b7] | 72 | AT_CHECK([../../molecuilder test.conf -e elements.db -f 1.55 2 A], 0, [ignore], [ignore], [mkdir std; mv BondFragment*.conf* std/])
|
---|
[3c1dfb] | 73 | AT_CHECK([mkdir std; mv BondFragment*.conf* std/], 0)
|
---|
| 74 | AT_CHECK([ls -l std/BondFragment*.conf | wc -l], 0, [5
|
---|
| 75 | ], [ignore])
|
---|
[1fa5b7] | 76 | AT_CHECK([../../molecuilder test.conf -e elements.db -f 1.55 2 A], 0, [ignore], [ignore], [mkdir new; mv BondFragment*.conf* new/])
|
---|
[3c1dfb] | 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
|
---|
[f3cba6] | 81 |
|
---|