source: molecuilder/tests/testsuite.at@ 9bd230

Last change on this file since 9bd230 was 2456db, checked in by Frederik Heber <heber@…>, 17 years ago

Full test for fragmentation procedure with readin of the adjacency file.

The test is still a bit of a hack (with moving BondFragment*-files and diff'ing them), but so far it works very well. A test structure is generated, till bond order 2 fragmented, the configs are moved away, fragmented again by reading adjacency, and the new configs are diff'ed against the old ones.

  • Property mode set to 100644
File size: 3.6 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 - simple command line tests])
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 -e elements.db -p test.xyz test.conf], 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_CLEANUP
34
35AT_BANNER([MoleCuilder - Fragmentation test])
36AT_SETUP([Fragmentation])
37# 1. create a fake element database with the only two elements we need
38AT_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
39#Element Name Symbol Period Group Block Atomic Number AtomicWeight Covalent Radius vdW Radius
40Hydrogen H 1 1 s 1 1.008 0.23 1.09
41Carbon C 2 14 p 6 12.011 0.68 1.70
42])
43# 2. create molecular geometry
44AT_DATA([test.xyz], [[11
45 # test configuration, created by molecuilder test suite
46C 9.782085945 3.275186040 3.535886037
47C 8.532785963 4.158586027 3.535886037
48C 7.283585982 3.275186040 3.535886037
49H 9.782085945 2.645886050 2.645886050
50H 9.782085945 2.645886050 4.425886024
51H 10.672039608 3.904536878 3.535886037
52H 8.532785963 4.787886018 2.645886050
53H 8.532785963 4.787886018 4.425886024
54H 6.393632318 3.904536877 3.535886037
55H 7.283585982 2.645886050 2.645886050
56H 7.283585982 2.645886050 4.425886024
57]])
58# 3. make sure config is empty and not remnant from last test with broken dirs
59AT_DATA([test.conf], [])
60# 4. create the config and check it
61AT_CHECK([../../molecuilder -e elements.db -p test.xyz test.conf], 0, [ignore], [ignore])
62AT_CHECK([fgrep "Ion_Type1_4" test.conf], 0, [Ion_Type1_4 8.532785963 4.787886018 2.645886050 0 # Number in molecule 6
63], [ignore])
64AT_CHECK([fgrep "Ion_Type2_4" test.conf], 1, [ignore], [ignore])
65# 5. fragment the molecule and check the number of configs
66AT_CHECK([../../molecuilder -e elements.db -f 1.55 2 A test.conf], 0, [ignore], [ignore], [mkdir std; mv BondFragment*.conf* std/])
67AT_CHECK([mkdir std; mv BondFragment*.conf* std/], 0)
68AT_CHECK([ls -l std/BondFragment*.conf | wc -l], 0, [5
69], [ignore])
70AT_CHECK([../../molecuilder -e elements.db -f 1.55 2 A test.conf], 0, [ignore], [ignore], [mkdir new; mv BondFragment*.conf* new/])
71AT_CHECK([mkdir new; mv BondFragment*.conf* new/], 0)
72# 6. compare both dirs by diff'ing
73AT_CHECK([diff -I '.*Created by molecuilder.*' std/ new/], 0, [], [])
74AT_CLEANUP
75
Note: See TracBrowser for help on using the repository browser.