Index: tests/regression/Makefile.am
===================================================================
--- tests/regression/Makefile.am	(revision d445e4bcef716346dd1b3a5d6c4fe27dd4b70f74)
+++ tests/regression/Makefile.am	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -68,4 +68,14 @@
 	$(srcdir)/testsuite-simple_configuration.at \
 	$(srcdir)/Options/testsuite-options.at \
+	$(srcdir)/Options/Verbosity/testsuite-options-verbosity.at \
+	$(srcdir)/Options/Warranty/testsuite-options-warranty.at \
+	$(srcdir)/Options/Help/testsuite-options-help.at \
+	$(srcdir)/Options/ElementsDb/testsuite-options-no-elements-db.at \
+	$(srcdir)/Options/ElementsDb/testsuite-options-elements-db.at \
+	$(srcdir)/Options/BondLengthTable/testsuite-options-bond-length-table.at \
+	$(srcdir)/Options/FastParsing/testsuite-options-fast-parsing.at \
+	$(srcdir)/Options/SetDefaultName/testsuite-options-set-default-name.at \
+	$(srcdir)/Options/Empty/testsuite-options-empty-configs.at \
+	$(srcdir)/Options/InvalidCommands/testsuite-options-invalid-commands.at \
 	$(srcdir)/Parser/testsuite-parser.at \
 	$(srcdir)/Parser/Mpqc/testsuite-parser-mpqc.at \
Index: tests/regression/Options/BondLengthTable/testsuite-options-bond-length-table.at
===================================================================
--- tests/regression/Options/BondLengthTable/testsuite-options-bond-length-table.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
+++ tests/regression/Options/BondLengthTable/testsuite-options-bond-length-table.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -0,0 +1,12 @@
+### bond length database
+
+AT_SETUP([Standard Options - bond length table])
+AT_KEYWORDS([options])
+AT_DATA([bondlength.db], [[# bond length database
+  1 2
+1 1.  0.
+2 0.  0.
+]])
+AT_CHECK([../../molecuilder -i test.conf -g bondlength.db], 0, [stdout], [stderr])
+AT_CHECK([grep -E "Using.*as bond length table." stdout], 0, [ignore], [ignore])
+AT_CLEANUP
Index: tests/regression/Options/ElementsDb/testsuite-options-elements-db.at
===================================================================
--- tests/regression/Options/ElementsDb/testsuite-options-elements-db.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
+++ tests/regression/Options/ElementsDb/testsuite-options-elements-db.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -0,0 +1,14 @@
+### element database
+
+AT_SETUP([Standard Options - element database])
+AT_KEYWORDS([options])
+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
+#Element  Name  Symbol  Period  Group Block Atomic  Number  AtomicWeight  Covalent  Radius  vdW Radius
+Hydrogen  H 1 1 s 1 1.008 0.23  1.09
+Helium  He  1 18  p 2 4.003 1.5 1.4
+]])
+AT_CHECK([../../molecuilder -i test.conf -e ./], 0, [stdout], [stderr])
+AT_CHECK([grep -E "Using.*as elements database." stdout], 0, [ignore], [ignore])
+AT_CHECK([fgrep "Element list loaded successfully." stdout], 0, [ignore], [ignore])
+AT_CHECK([fgrep "Something went wrong while parsing the other databases!" stderr], 0, [ignore], [ignore])
+AT_CLEANUP
Index: tests/regression/Options/ElementsDb/testsuite-options-no-elements-db.at
===================================================================
--- tests/regression/Options/ElementsDb/testsuite-options-no-elements-db.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
+++ tests/regression/Options/ElementsDb/testsuite-options-no-elements-db.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -0,0 +1,6 @@
+### no element database
+
+AT_SETUP([Standard Options - no element database])
+AT_KEYWORDS([options])
+AT_CHECK([../../molecuilder -e], 134, [ignore], [stderr])
+AT_CLEANUP
Index: tests/regression/Options/Empty/pre/empty.conf
===================================================================
--- tests/regression/Options/Empty/pre/empty.conf	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
+++ tests/regression/Options/Empty/pre/empty.conf	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -0,0 +1,70 @@
+# ParallelCarParinello - main configuration file - created with molecuilder
+
+mainname	pcp	# programm name (for runtime files)
+defaultpath	not specified	# where to put files during runtime
+pseudopotpath	not specified	# where to find pseudopotentials
+
+ProcPEGamma	8	# for parallel computing: share constants
+ProcPEPsi	1	# for parallel computing: share wave functions
+DoOutVis	0	# Output data for OpenDX
+DoOutMes	1	# Output data for measurements
+DoOutOrbitals	0	# Output all Orbitals
+DoOutCurr	0	# Ouput current density for OpenDx
+DoOutNICS	0	# Output Nucleus independent current shieldings
+DoPerturbation	0	# Do perturbation calculate and determine susceptibility and shielding
+DoFullCurrent	0	# Do full perturbation
+DoConstrainedMD	0	# Do perform a constrained (>0, relating to current MD step) instead of unconstrained (0) MD
+Thermostat	Berendsen	2.5	# Which Thermostat and its parameters to use in MD case.
+CommonWannier	0	# Put virtual centers at indivual orbits, all common, merged by variance, to grid point, to cell center
+SawtoothStart	0.01	# Absolute value for smooth transition at cell border 
+VectorPlane	0	# Cut plane axis (x, y or z: 0,1,2) for two-dim current vector plot
+VectorCut	0	# Cut plane axis value
+AddGramSch	1	# Additional GramSchmidtOrtogonalization to be safe
+Seed		1	# initial value for random seed for Psi coefficients
+
+MaxOuterStep	0	# number of MolecularDynamics/Structure optimization steps
+Deltat	0.01	# time per MD step
+OutVisStep	10	# Output visual data every ...th step
+OutSrcStep	5	# Output "restart" data every ..th step
+TargetTemp	0.000950045	# Target temperature
+MaxPsiStep	0	# number of Minimisation steps per state (0 - default)
+EpsWannier	1e-07	# tolerance value for spread minimisation of orbitals
+
+# Values specifying when to stop
+MaxMinStep	100	# Maximum number of steps
+RelEpsTotalE	1e-07	# relative change in total energy
+RelEpsKineticE	1e-05	# relative change in kinetic energy
+MaxMinStopStep	0	# check every ..th steps
+MaxMinGapStopStep	0	# check every ..th steps
+
+# Values specifying when to stop for INIT, otherwise same as above
+MaxInitMinStep	100	# Maximum number of steps
+InitRelEpsTotalE	1e-05	# relative change in total energy
+InitRelEpsKineticE	0.0001	# relative change in kinetic energy
+InitMaxMinStopStep	0	# check every ..th steps
+InitMaxMinGapStopStep	0	# check every ..th steps
+
+BoxLength			# (Length of a unit cell)
+20	
+0	20	
+0	0	20	
+
+ECut		128	# energy cutoff for discretization in Hartrees
+MaxLevel	5	# number of different levels in the code, >=2
+Level0Factor	2	# factor by which node number increases from S to 0 level
+RiemannTensor	0	# (Use metric)
+PsiType		0	# 0 - doubly occupied, 1 - SpinUp,SpinDown
+MaxPsiDouble	0	# here: specifying both maximum number of SpinUp- and -Down-states
+PsiMaxNoUp	0	# here: specifying maximum number of SpinUp-states
+PsiMaxNoDown	0	# here: specifying maximum number of SpinDown-states
+AddPsis		0	# Additional unoccupied Psis for bandgap determination
+
+RCut		20	# R-cut for the ewald summation
+StructOpt	0	# Do structure optimization beforehand
+IsAngstroem	1	# 0 - Bohr, 1 - Angstroem
+RelativeCoord	0	# whether ion coordinates are relative (1) or absolute (0)
+MaxTypes	0	# maximum number of different ion types
+
+# Ion type data (PP = PseudoPotential, Z = atomic number)
+#Ion_TypeNr.	Amount	Z	RGauss	L_Max(PP)L_Loc(PP)IonMass	# chemical name, symbol
+#Ion_TypeNr._Nr.R[0]    R[1]    R[2]    MoveType (0 MoveIon, 1 FixedIon)
Index: tests/regression/Options/Empty/testsuite-options-empty-configs.at
===================================================================
--- tests/regression/Options/Empty/testsuite-options-empty-configs.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
+++ tests/regression/Options/Empty/testsuite-options-empty-configs.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -0,0 +1,6 @@
+### test that all desire parameters and count how many complain
+
+AT_SETUP([Standard Options - invalid commands on empty configs])
+AT_KEYWORDS([options])
+AT_CHECK([../../molecuilder -i empty.conf  -t -s -b -E -c -b -a -U -T -u], 134, [ignore], [stderr])
+AT_CLEANUP
Index: tests/regression/Options/FastParsing/testsuite-options-fast-parsing.at
===================================================================
--- tests/regression/Options/FastParsing/testsuite-options-fast-parsing.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
+++ tests/regression/Options/FastParsing/testsuite-options-fast-parsing.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -0,0 +1,16 @@
+### fast trajectory parsing
+
+AT_SETUP([Standard Options - fast trajectories])
+AT_KEYWORDS([options])
+AT_CHECK([../../molecuilder -i test.conf -n 1], 0, [stdout], [stderr])
+AT_CHECK([fgrep "I won't parse trajectories" stdout], 0, [ignore], [ignore])
+AT_CLEANUP
+
+AT_SETUP([Standard Options - fast trajectories with Undo/Redo])
+AT_KEYWORDS([options])
+AT_CHECK([../../molecuilder -i test.conf -n 1 --undo], 0, [stdout], [stderr])
+AT_CHECK([fgrep "I will parse trajectories." stdout], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilder -i test.conf -n 1 --undo --redo], 0, [stdout], [stderr])
+AT_CHECK([grep -c "I won't parse trajectories" stdout], 0, 2
+, [ignore])
+AT_CLEANUP
Index: tests/regression/Options/Help/testsuite-options-help.at
===================================================================
--- tests/regression/Options/Help/testsuite-options-help.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
+++ tests/regression/Options/Help/testsuite-options-help.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -0,0 +1,9 @@
+### help screen
+
+AT_SETUP([Standard Options - help screen])
+AT_KEYWORDS([options])
+AT_CHECK([../../molecuilder -h], 0, [stdout], [ignore])
+AT_CHECK([fgrep "help screen" stdout], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilder --help], 0, [stdout], [ignore])
+AT_CHECK([fgrep "help screen" stdout], 0, [ignore], [ignore])
+AT_CLEANUP
Index: tests/regression/Options/InvalidCommands/pre/test.conf
===================================================================
--- tests/regression/Options/InvalidCommands/pre/test.conf	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
+++ tests/regression/Options/InvalidCommands/pre/test.conf	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -0,0 +1,72 @@
+# ParallelCarParinello - main configuration file - created with molecuilder
+
+mainname	pcp	# programm name (for runtime files)
+defaultpath	not specified	# where to put files during runtime
+pseudopotpath	not specified	# where to find pseudopotentials
+
+ProcPEGamma	8	# for parallel computing: share constants
+ProcPEPsi	1	# for parallel computing: share wave functions
+DoOutVis	0	# Output data for OpenDX
+DoOutMes	1	# Output data for measurements
+DoOutOrbitals	0	# Output all Orbitals
+DoOutCurr	0	# Ouput current density for OpenDx
+DoOutNICS	0	# Output Nucleus independent current shieldings
+DoPerturbation	0	# Do perturbation calculate and determine susceptibility and shielding
+DoFullCurrent	0	# Do full perturbation
+DoConstrainedMD	0	# Do perform a constrained (>0, relating to current MD step) instead of unconstrained (0) MD
+Thermostat	Berendsen	2.5	# Which Thermostat and its parameters to use in MD case.
+CommonWannier	0	# Put virtual centers at indivual orbits, all common, merged by variance, to grid point, to cell center
+SawtoothStart	0.01	# Absolute value for smooth transition at cell border 
+VectorPlane	0	# Cut plane axis (x, y or z: 0,1,2) for two-dim current vector plot
+VectorCut	0	# Cut plane axis value
+AddGramSch	1	# Additional GramSchmidtOrtogonalization to be safe
+Seed		1	# initial value for random seed for Psi coefficients
+
+MaxOuterStep	0	# number of MolecularDynamics/Structure optimization steps
+Deltat	0.01	# time per MD step
+OutVisStep	10	# Output visual data every ...th step
+OutSrcStep	5	# Output "restart" data every ..th step
+TargetTemp	0.000950045	# Target temperature
+MaxPsiStep	0	# number of Minimisation steps per state (0 - default)
+EpsWannier	1e-07	# tolerance value for spread minimisation of orbitals
+
+# Values specifying when to stop
+MaxMinStep	100	# Maximum number of steps
+RelEpsTotalE	1e-07	# relative change in total energy
+RelEpsKineticE	1e-05	# relative change in kinetic energy
+MaxMinStopStep	0	# check every ..th steps
+MaxMinGapStopStep	0	# check every ..th steps
+
+# Values specifying when to stop for INIT, otherwise same as above
+MaxInitMinStep	100	# Maximum number of steps
+InitRelEpsTotalE	1e-05	# relative change in total energy
+InitRelEpsKineticE	0.0001	# relative change in kinetic energy
+InitMaxMinStopStep	0	# check every ..th steps
+InitMaxMinGapStopStep	0	# check every ..th steps
+
+BoxLength			# (Length of a unit cell)
+20	
+0	20	
+0	0	20	
+
+ECut		128	# energy cutoff for discretization in Hartrees
+MaxLevel	5	# number of different levels in the code, >=2
+Level0Factor	2	# factor by which node number increases from S to 0 level
+RiemannTensor	0	# (Use metric)
+PsiType		0	# 0 - doubly occupied, 1 - SpinUp,SpinDown
+MaxPsiDouble	0	# here: specifying both maximum number of SpinUp- and -Down-states
+PsiMaxNoUp	0	# here: specifying maximum number of SpinUp-states
+PsiMaxNoDown	0	# here: specifying maximum number of SpinDown-states
+AddPsis		0	# Additional unoccupied Psis for bandgap determination
+
+RCut		20	# R-cut for the ewald summation
+StructOpt	0	# Do structure optimization beforehand
+IsAngstroem	1	# 0 - Bohr, 1 - Angstroem
+RelativeCoord	0	# whether ion coordinates are relative (1) or absolute (0)
+MaxTypes	1	# maximum number of different ion types
+
+# Ion type data (PP = PseudoPotential, Z = atomic number)
+#Ion_TypeNr.	Amount	Z	RGauss	L_Max(PP)L_Loc(PP)IonMass	# chemical name, symbol
+Ion_Type1	1	1	1.0	3	3	1.00800000000	Hydrogen	H
+#Ion_TypeNr._Nr.R[0]    R[1]    R[2]    MoveType (0 MoveIon, 1 FixedIon)
+Ion_Type1_1	10.000000000	10.000000000	10.000000000	0 # molecule nr 0
Index: tests/regression/Options/InvalidCommands/testsuite-options-invalid-commands.at
===================================================================
--- tests/regression/Options/InvalidCommands/testsuite-options-invalid-commands.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
+++ tests/regression/Options/InvalidCommands/testsuite-options-invalid-commands.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -0,0 +1,16 @@
+### test that all need parameters and count how many complain
+
+AT_SETUP([Standard Options - invalid commands on present configs])
+AT_KEYWORDS([options])
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Options/InvalidCommands/pre/test.conf .], 0)
+AT_CHECK([../../molecuilder -i test.conf  -t], 134, [ignore], [stderr])
+AT_CHECK([../../molecuilder -i test.conf  -s -b -E -c -b -a -U -T -u], 134, [ignore], [stderr])
+AT_CHECK([../../molecuilder -i test.conf  -b -E -c -b -a -U -T -u], 134, [ignore], [stderr])
+AT_CHECK([../../molecuilder -i test.conf  -E -c -b -a -U -T -u], 134, [ignore], [stderr])
+AT_CHECK([../../molecuilder -i test.conf  -c -b -a -U -T -u], 134, [ignore], [stderr])
+AT_CHECK([../../molecuilder -i test.conf  -b -a -U -T -u], 134, [ignore], [stderr])
+AT_CHECK([../../molecuilder -i test.conf  -a -U -T -u], 134, [ignore], [stderr])
+AT_CHECK([../../molecuilder -i test.conf  -U -T -u], 134, [ignore], [stderr])
+AT_CHECK([../../molecuilder -i test.conf  -T -u], 134, [ignore], [stderr])
+AT_CHECK([../../molecuilder -i test.conf  -u], 134, [ignore], [stderr])
+AT_CLEANUP
Index: tests/regression/Options/SetDefaultName/testsuite-options-set-default-name.at
===================================================================
--- tests/regression/Options/SetDefaultName/testsuite-options-set-default-name.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
+++ tests/regression/Options/SetDefaultName/testsuite-options-set-default-name.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -0,0 +1,15 @@
+### molecule default name
+
+AT_SETUP([Standard Options - molecule default name])
+AT_KEYWORDS([options])
+AT_CHECK([../../molecuilder -i test.conf -X test], 0, [stdout], [stderr])
+AT_CHECK([fgrep "Default name of new molecules set to test." stdout], 0, [ignore], [ignore])
+AT_CLEANUP
+
+AT_SETUP([Standard Options - molecule default name with Undo/Redo])
+AT_KEYWORDS([options])
+AT_CHECK([../../molecuilder -i test.conf -X test --undo], 0, [stdout], [stderr])
+AT_CHECK([fgrep "Default name of new molecules set to none." stdout], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilder -i test.conf -X test --undo --redo], 0, [stdout], [stderr])
+AT_CHECK([fgrep "Default name of new molecules set to test." stdout], 0, [ignore], [ignore])
+AT_CLEANUP
Index: tests/regression/Options/Verbosity/testsuite-options-verbosity.at
===================================================================
--- tests/regression/Options/Verbosity/testsuite-options-verbosity.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
+++ tests/regression/Options/Verbosity/testsuite-options-verbosity.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -0,0 +1,12 @@
+### verbosity
+
+AT_SETUP([Standard Options - verbosity with Undo/Redo])
+AT_KEYWORDS([options])
+AT_CHECK([pwd],[ignore],[ignore])
+AT_CHECK([../../molecuilder -v 9], 0, [stdout], [ignore])
+AT_CHECK([grep "Setting verbosity from .* to 9" stdout], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilder -v 9 --undo], 0, [stdout], [ignore])
+AT_CHECK([grep "Setting verbosity from 9 to .*" stdout], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilder -v 9 --undo --redo], 0, [stdout], [ignore])
+AT_CHECK([grep "Setting verbosity from .* to 9" stdout], 0, [ignore], [ignore])
+AT_CLEANUP
Index: tests/regression/Options/Warranty/testsuite-options-warranty.at
===================================================================
--- tests/regression/Options/Warranty/testsuite-options-warranty.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
+++ tests/regression/Options/Warranty/testsuite-options-warranty.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -0,0 +1,8 @@
+### warranty screen
+
+AT_SETUP([Standard Options - warranty screen])
+AT_KEYWORDS([options])
+AT_CHECK([../../molecuilder --warranty], 0, [stdout], [ignore])
+AT_CHECK([fgrep "statement concerning warranty" stdout], 0, [ignore], [ignore])
+AT_CHECK([fgrep "WITHOUT ANY WARRANTY" stdout], 0, [ignore], [ignore])
+AT_CLEANUP
Index: tests/regression/Options/testsuite-options.at
===================================================================
--- tests/regression/Options/testsuite-options.at	(revision d445e4bcef716346dd1b3a5d6c4fe27dd4b70f74)
+++ tests/regression/Options/testsuite-options.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -1,88 +1,30 @@
 AT_BANNER([MoleCuilder - standard options])
-# 1. verbosity
-AT_SETUP([Standard Options - verbosity with Undo/Redo])
-AT_KEYWORDS([options])
-AT_CHECK([pwd],[ignore],[ignore])
-AT_CHECK([../../molecuilder -v 9], 0, [stdout], [ignore])
-AT_CHECK([grep "Setting verbosity from .* to 9" stdout], 0, [ignore], [ignore])
-AT_CHECK([../../molecuilder -v 9 --undo], 0, [stdout], [ignore])
-AT_CHECK([grep "Setting verbosity from 9 to .*" stdout], 0, [ignore], [ignore])
-AT_CHECK([../../molecuilder -v 9 --undo --redo], 0, [stdout], [ignore])
-AT_CHECK([grep "Setting verbosity from .* to 9" stdout], 0, [ignore], [ignore])
-AT_CLEANUP
 
-# 2. help screen
-AT_SETUP([Standard Options - help screen])
-AT_KEYWORDS([options])
-AT_CHECK([../../molecuilder -h], 0, [stdout], [ignore])
-AT_CHECK([fgrep "help screen" stdout], 0, [ignore], [ignore])
-AT_CHECK([../../molecuilder --help], 0, [stdout], [ignore])
-AT_CHECK([fgrep "help screen" stdout], 0, [ignore], [ignore])
-AT_CLEANUP
-AT_SETUP([Standard Options - warranty screen])
-AT_KEYWORDS([options])
-AT_CHECK([../../molecuilder --warranty], 0, [stdout], [ignore])
-AT_CHECK([fgrep "statement concerning warranty" stdout], 0, [ignore], [ignore])
-AT_CHECK([fgrep "WITHOUT ANY WARRANTY" stdout], 0, [ignore], [ignore])
-AT_CLEANUP
+# verbosity
+m4_include([Options/Verbosity/testsuite-options-verbosity.at])
 
-# 3. no element database
-AT_SETUP([Standard Options - no element database])
-AT_KEYWORDS([options])
-AT_CHECK([../../molecuilder -e], 134, [ignore], [stderr])
-AT_CLEANUP
+# warranty screen
+m4_include([Options/Warranty/testsuite-options-warranty.at])
 
-# 4. element database
-AT_SETUP([Standard Options - element database])
-AT_KEYWORDS([options])
-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
-#Element	Name	Symbol	Period	Group	Block	Atomic	Number	AtomicWeight	Covalent	Radius	vdW	Radius
-Hydrogen	H	1	1	s	1	1.008	0.23	1.09
-Helium	He	1	18	p	2	4.003	1.5	1.4
-]])
-AT_CHECK([../../molecuilder -i test.conf -e ./], 0, [stdout], [stderr])
-AT_CHECK([grep -E "Using.*as elements database." stdout], 0, [ignore], [ignore])
-AT_CHECK([fgrep "Element list loaded successfully." stdout], 0, [ignore], [ignore])
-AT_CHECK([fgrep "Something went wrong while parsing the other databases!" stderr], 0, [ignore], [ignore])
-AT_CLEANUP
+# help screen
+m4_include([Options/Help/testsuite-options-help.at])
 
-# 5. bond length database
-AT_SETUP([Standard Options - bond length table])
-AT_KEYWORDS([options])
-AT_DATA([bondlength.db], [[# bond length database
-	1	2
-1	1.	0.
-2	0.	0.
-]])
-AT_CHECK([../../molecuilder -i test.conf -g bondlength.db], 0, [stdout], [stderr])
-AT_CHECK([grep -E "Using.*as bond length table." stdout], 0, [ignore], [ignore])
-AT_CLEANUP
+# element database
+m4_include([Options/ElementsDb/testsuite-options-no-elements-db.at])
+m4_include([Options/ElementsDb/testsuite-options-elements-db.at])
 
-# 6. fast trajectories
-AT_SETUP([Standard Options - fast trajectories])
-AT_KEYWORDS([options])
-AT_CHECK([../../molecuilder -i test.conf -n 1], 0, [stdout], [stderr])
-AT_CHECK([fgrep "I won't parse trajectories" stdout], 0, [ignore], [ignore])
-AT_CLEANUP
-AT_SETUP([Standard Options - fast trajectories with Undo/Redo])
-AT_KEYWORDS([options])
-AT_CHECK([../../molecuilder -i test.conf -n 1 --undo], 0, [stdout], [stderr])
-AT_CHECK([fgrep "I will parse trajectories." stdout], 0, [ignore], [ignore])
-AT_CHECK([../../molecuilder -i test.conf -n 1 --undo --redo], 0, [stdout], [stderr])
-AT_CHECK([grep -c "I won't parse trajectories" stdout], 0, 2
-, [ignore])
-AT_CLEANUP
+# bond length database
+m4_include([Options/BondLengthTable/testsuite-options-bond-length-table.at])
 
-# 7. molecule default name
-AT_SETUP([Standard Options - molecule default name])
-AT_KEYWORDS([options])
-AT_CHECK([../../molecuilder -i test.conf -X test], 0, [stdout], [stderr])
-AT_CHECK([fgrep "Default name of new molecules set to test." stdout], 0, [ignore], [ignore])
-AT_CLEANUP
-AT_SETUP([Standard Options - molecule default name with Undo/Redo])
-AT_KEYWORDS([options])
-AT_CHECK([../../molecuilder -i test.conf -X test --undo], 0, [stdout], [stderr])
-AT_CHECK([fgrep "Default name of new molecules set to none." stdout], 0, [ignore], [ignore])
-AT_CHECK([../../molecuilder -i test.conf -X test --undo --redo], 0, [stdout], [stderr])
-AT_CHECK([fgrep "Default name of new molecules set to test." stdout], 0, [ignore], [ignore])
-AT_CLEANUP
+# fast trajectory parsing
+m4_include([Options/FastParsing/testsuite-options-fast-parsing.at])
+
+# molecule default name
+m4_include([Options/SetDefaultName/testsuite-options-set-default-name.at])
+
+# test that all desire parameters and count how many complain
+m4_include([Options/Empty/testsuite-options-empty-configs.at])
+
+# test that all need parameters and count how many complain
+m4_include([Options/InvalidCommands/testsuite-options-invalid-commands.at])
+
Index: sts/regression/Simple_configuration/6/pre/empty.conf
===================================================================
--- tests/regression/Simple_configuration/6/pre/empty.conf	(revision d445e4bcef716346dd1b3a5d6c4fe27dd4b70f74)
+++ 	(revision )
@@ -1,70 +1,0 @@
-# ParallelCarParinello - main configuration file - created with molecuilder
-
-mainname	pcp	# programm name (for runtime files)
-defaultpath	not specified	# where to put files during runtime
-pseudopotpath	not specified	# where to find pseudopotentials
-
-ProcPEGamma	8	# for parallel computing: share constants
-ProcPEPsi	1	# for parallel computing: share wave functions
-DoOutVis	0	# Output data for OpenDX
-DoOutMes	1	# Output data for measurements
-DoOutOrbitals	0	# Output all Orbitals
-DoOutCurr	0	# Ouput current density for OpenDx
-DoOutNICS	0	# Output Nucleus independent current shieldings
-DoPerturbation	0	# Do perturbation calculate and determine susceptibility and shielding
-DoFullCurrent	0	# Do full perturbation
-DoConstrainedMD	0	# Do perform a constrained (>0, relating to current MD step) instead of unconstrained (0) MD
-Thermostat	Berendsen	2.5	# Which Thermostat and its parameters to use in MD case.
-CommonWannier	0	# Put virtual centers at indivual orbits, all common, merged by variance, to grid point, to cell center
-SawtoothStart	0.01	# Absolute value for smooth transition at cell border 
-VectorPlane	0	# Cut plane axis (x, y or z: 0,1,2) for two-dim current vector plot
-VectorCut	0	# Cut plane axis value
-AddGramSch	1	# Additional GramSchmidtOrtogonalization to be safe
-Seed		1	# initial value for random seed for Psi coefficients
-
-MaxOuterStep	0	# number of MolecularDynamics/Structure optimization steps
-Deltat	0.01	# time per MD step
-OutVisStep	10	# Output visual data every ...th step
-OutSrcStep	5	# Output "restart" data every ..th step
-TargetTemp	0.000950045	# Target temperature
-MaxPsiStep	0	# number of Minimisation steps per state (0 - default)
-EpsWannier	1e-07	# tolerance value for spread minimisation of orbitals
-
-# Values specifying when to stop
-MaxMinStep	100	# Maximum number of steps
-RelEpsTotalE	1e-07	# relative change in total energy
-RelEpsKineticE	1e-05	# relative change in kinetic energy
-MaxMinStopStep	0	# check every ..th steps
-MaxMinGapStopStep	0	# check every ..th steps
-
-# Values specifying when to stop for INIT, otherwise same as above
-MaxInitMinStep	100	# Maximum number of steps
-InitRelEpsTotalE	1e-05	# relative change in total energy
-InitRelEpsKineticE	0.0001	# relative change in kinetic energy
-InitMaxMinStopStep	0	# check every ..th steps
-InitMaxMinGapStopStep	0	# check every ..th steps
-
-BoxLength			# (Length of a unit cell)
-20	
-0	20	
-0	0	20	
-
-ECut		128	# energy cutoff for discretization in Hartrees
-MaxLevel	5	# number of different levels in the code, >=2
-Level0Factor	2	# factor by which node number increases from S to 0 level
-RiemannTensor	0	# (Use metric)
-PsiType		0	# 0 - doubly occupied, 1 - SpinUp,SpinDown
-MaxPsiDouble	0	# here: specifying both maximum number of SpinUp- and -Down-states
-PsiMaxNoUp	0	# here: specifying maximum number of SpinUp-states
-PsiMaxNoDown	0	# here: specifying maximum number of SpinDown-states
-AddPsis		0	# Additional unoccupied Psis for bandgap determination
-
-RCut		20	# R-cut for the ewald summation
-StructOpt	0	# Do structure optimization beforehand
-IsAngstroem	1	# 0 - Bohr, 1 - Angstroem
-RelativeCoord	0	# whether ion coordinates are relative (1) or absolute (0)
-MaxTypes	0	# maximum number of different ion types
-
-# Ion type data (PP = PseudoPotential, Z = atomic number)
-#Ion_TypeNr.	Amount	Z	RGauss	L_Max(PP)L_Loc(PP)IonMass	# chemical name, symbol
-#Ion_TypeNr._Nr.R[0]    R[1]    R[2]    MoveType (0 MoveIon, 1 FixedIon)
Index: sts/regression/Simple_configuration/7/pre/test.conf
===================================================================
--- tests/regression/Simple_configuration/7/pre/test.conf	(revision d445e4bcef716346dd1b3a5d6c4fe27dd4b70f74)
+++ 	(revision )
@@ -1,72 +1,0 @@
-# ParallelCarParinello - main configuration file - created with molecuilder
-
-mainname	pcp	# programm name (for runtime files)
-defaultpath	not specified	# where to put files during runtime
-pseudopotpath	not specified	# where to find pseudopotentials
-
-ProcPEGamma	8	# for parallel computing: share constants
-ProcPEPsi	1	# for parallel computing: share wave functions
-DoOutVis	0	# Output data for OpenDX
-DoOutMes	1	# Output data for measurements
-DoOutOrbitals	0	# Output all Orbitals
-DoOutCurr	0	# Ouput current density for OpenDx
-DoOutNICS	0	# Output Nucleus independent current shieldings
-DoPerturbation	0	# Do perturbation calculate and determine susceptibility and shielding
-DoFullCurrent	0	# Do full perturbation
-DoConstrainedMD	0	# Do perform a constrained (>0, relating to current MD step) instead of unconstrained (0) MD
-Thermostat	Berendsen	2.5	# Which Thermostat and its parameters to use in MD case.
-CommonWannier	0	# Put virtual centers at indivual orbits, all common, merged by variance, to grid point, to cell center
-SawtoothStart	0.01	# Absolute value for smooth transition at cell border 
-VectorPlane	0	# Cut plane axis (x, y or z: 0,1,2) for two-dim current vector plot
-VectorCut	0	# Cut plane axis value
-AddGramSch	1	# Additional GramSchmidtOrtogonalization to be safe
-Seed		1	# initial value for random seed for Psi coefficients
-
-MaxOuterStep	0	# number of MolecularDynamics/Structure optimization steps
-Deltat	0.01	# time per MD step
-OutVisStep	10	# Output visual data every ...th step
-OutSrcStep	5	# Output "restart" data every ..th step
-TargetTemp	0.000950045	# Target temperature
-MaxPsiStep	0	# number of Minimisation steps per state (0 - default)
-EpsWannier	1e-07	# tolerance value for spread minimisation of orbitals
-
-# Values specifying when to stop
-MaxMinStep	100	# Maximum number of steps
-RelEpsTotalE	1e-07	# relative change in total energy
-RelEpsKineticE	1e-05	# relative change in kinetic energy
-MaxMinStopStep	0	# check every ..th steps
-MaxMinGapStopStep	0	# check every ..th steps
-
-# Values specifying when to stop for INIT, otherwise same as above
-MaxInitMinStep	100	# Maximum number of steps
-InitRelEpsTotalE	1e-05	# relative change in total energy
-InitRelEpsKineticE	0.0001	# relative change in kinetic energy
-InitMaxMinStopStep	0	# check every ..th steps
-InitMaxMinGapStopStep	0	# check every ..th steps
-
-BoxLength			# (Length of a unit cell)
-20	
-0	20	
-0	0	20	
-
-ECut		128	# energy cutoff for discretization in Hartrees
-MaxLevel	5	# number of different levels in the code, >=2
-Level0Factor	2	# factor by which node number increases from S to 0 level
-RiemannTensor	0	# (Use metric)
-PsiType		0	# 0 - doubly occupied, 1 - SpinUp,SpinDown
-MaxPsiDouble	0	# here: specifying both maximum number of SpinUp- and -Down-states
-PsiMaxNoUp	0	# here: specifying maximum number of SpinUp-states
-PsiMaxNoDown	0	# here: specifying maximum number of SpinDown-states
-AddPsis		0	# Additional unoccupied Psis for bandgap determination
-
-RCut		20	# R-cut for the ewald summation
-StructOpt	0	# Do structure optimization beforehand
-IsAngstroem	1	# 0 - Bohr, 1 - Angstroem
-RelativeCoord	0	# whether ion coordinates are relative (1) or absolute (0)
-MaxTypes	1	# maximum number of different ion types
-
-# Ion type data (PP = PseudoPotential, Z = atomic number)
-#Ion_TypeNr.	Amount	Z	RGauss	L_Max(PP)L_Loc(PP)IonMass	# chemical name, symbol
-Ion_Type1	1	1	1.0	3	3	1.00800000000	Hydrogen	H
-#Ion_TypeNr._Nr.R[0]    R[1]    R[2]    MoveType (0 MoveIon, 1 FixedIon)
-Ion_Type1_1	10.000000000	10.000000000	10.000000000	0 # molecule nr 0
Index: tests/regression/testsuite-simple_configuration.at
===================================================================
--- tests/regression/testsuite-simple_configuration.at	(revision d445e4bcef716346dd1b3a5d6c4fe27dd4b70f74)
+++ tests/regression/testsuite-simple_configuration.at	(revision 2700983eab89463c26130cc0d2c853f1d4d13c02)
@@ -10,23 +10,2 @@
 AT_CLEANUP
 
-# 6. test some more configuration that all desire parameters and count how many complain
-AT_SETUP([Simple configuration - invalid commands on empty configs])
-AT_KEYWORDS([configuration])
-AT_CHECK([../../molecuilder -i empty.conf  -t -s -b -E -c -b -a -U -T -u], 134, [ignore], [stderr])
-AT_CLEANUP
-
-# 7. test some more configuration that all need parameters and count how many complain
-AT_SETUP([Simple configuration - invalid commands on present configs])
-AT_KEYWORDS([configuration])
-AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/7/pre/test.conf .], 0)
-AT_CHECK([../../molecuilder -i test.conf  -t], 134, [ignore], [stderr])
-AT_CHECK([../../molecuilder -i test.conf  -s -b -E -c -b -a -U -T -u], 134, [ignore], [stderr])
-AT_CHECK([../../molecuilder -i test.conf  -b -E -c -b -a -U -T -u], 134, [ignore], [stderr])
-AT_CHECK([../../molecuilder -i test.conf  -E -c -b -a -U -T -u], 134, [ignore], [stderr])
-AT_CHECK([../../molecuilder -i test.conf  -c -b -a -U -T -u], 134, [ignore], [stderr])
-AT_CHECK([../../molecuilder -i test.conf  -b -a -U -T -u], 134, [ignore], [stderr])
-AT_CHECK([../../molecuilder -i test.conf  -a -U -T -u], 134, [ignore], [stderr])
-AT_CHECK([../../molecuilder -i test.conf  -U -T -u], 134, [ignore], [stderr])
-AT_CHECK([../../molecuilder -i test.conf  -T -u], 134, [ignore], [stderr])
-AT_CHECK([../../molecuilder -i test.conf  -u], 134, [ignore], [stderr])
-AT_CLEANUP
