source: molecuilder/tests/testsuite.at@ 136e89

Last change on this file since 136e89 was 8e2a42, checked in by Frederik Heber <heber@…>, 17 years ago

Fixed second test (main_pcp_linux was not written anymore, hence copied) and error code in third test (2 not 0)

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