Index: tests/regression/Makefile.am
===================================================================
--- tests/regression/Makefile.am	(revision 9fd196a18e0a47b5eb4d5d4d98793332ac09cad9)
+++ tests/regression/Makefile.am	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -96,7 +96,9 @@
 	$(srcdir)/Parser/Mpqc/testsuite-parser-mpqc-empty.at \
 	$(srcdir)/Parser/Mpqc/testsuite-parser-mpqc-load.at \
+	$(srcdir)/Parser/Mpqc/testsuite-parser-mpqc-load-multiply.at \
 	$(srcdir)/Parser/Mpqc/testsuite-parser-mpqc-save.at \
 	$(srcdir)/Parser/Pcp/testsuite-parser-pcp-empty.at \
 	$(srcdir)/Parser/Pcp/testsuite-parser-pcp-load.at \
+	$(srcdir)/Parser/Pcp/testsuite-parser-pcp-load-multiply.at \
 	$(srcdir)/Parser/Pcp/testsuite-parser-pcp-multiple-timesteps.at \
 	$(srcdir)/Parser/Pcp/testsuite-parser-pcp-save.at \
@@ -105,4 +107,5 @@
 	$(srcdir)/Parser/Pdb/testsuite-parser-pdb-empty.at \
 	$(srcdir)/Parser/Pdb/testsuite-parser-pdb-load.at \
+	$(srcdir)/Parser/Pdb/testsuite-parser-pdb-load-multiply.at \
 	$(srcdir)/Parser/Pdb/testsuite-parser-pdb-load-various.at \
 	$(srcdir)/Parser/Pdb/testsuite-parser-pdb-multiple-timesteps.at \
@@ -111,4 +114,5 @@
 	$(srcdir)/Parser/Psi3/testsuite-parser-psi3-empty.at \
 	$(srcdir)/Parser/Psi3/testsuite-parser-psi3-load.at \
+	$(srcdir)/Parser/Psi3/testsuite-parser-psi3-load-multiply.at \
 	$(srcdir)/Parser/Psi3/testsuite-parser-psi3-save.at \
 	$(srcdir)/Parser/SetParameters/Mpqc/testsuite-parser-set-parameters-mpqc.at \
@@ -120,4 +124,5 @@
 	$(srcdir)/Parser/Tremolo/testsuite-parser-tremolo-empty.at \
 	$(srcdir)/Parser/Tremolo/testsuite-parser-tremolo-load.at \
+	$(srcdir)/Parser/Tremolo/testsuite-parser-tremolo-load-multiply.at \
 	$(srcdir)/Parser/Tremolo/testsuite-parser-tremolo-save.at \
 	$(srcdir)/Parser/Tremolo-Potentials/testsuite-parser-tremolo-potentials.at \
@@ -127,4 +132,5 @@
 	$(srcdir)/Parser/Xyz/testsuite-parser-xyz-empty.at \
 	$(srcdir)/Parser/Xyz/testsuite-parser-xyz-load.at \
+	$(srcdir)/Parser/Xyz/testsuite-parser-xyz-load-multiply.at \
 	$(srcdir)/Parser/Xyz/testsuite-parser-xyz-multiple-timesteps.at \
 	$(srcdir)/Parser/Xyz/testsuite-parser-xyz-save.at \
Index: tests/regression/Parser/Mpqc/post/doublewater.in
===================================================================
--- tests/regression/Parser/Mpqc/post/doublewater.in	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Mpqc/post/doublewater.in	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,31 @@
+% Created by MoleCuilder
+mpqc: (
+	savestate = no
+	do_gradient = yes
+	mole<MBPT2>: (
+		basis = $:basis
+		molecule = $:molecule
+		memory = 16000000
+		reference<CLHF>: (
+			maxiter = 1000
+			basis = $:basis
+			molecule = $:molecule
+			memory = 16000000
+		)
+	)
+)
+molecule<Molecule>: (
+	unit = angstrom
+	{ atoms geometry } = {
+		O [ -1.506	0	0 ]
+		H [ -0.747	0	0.504 ]
+		H [ -0.747	0	-0.504 ]
+		O [ 0.494	0	0 ]
+		H [ 1.253	0	0.504 ]
+		H [ 1.253	0	-0.504 ]
+	}
+)
+basis<GaussianBasisSet>: (
+	name = "3-21G"
+	molecule = $:molecule
+)
Index: tests/regression/Parser/Mpqc/pre/water.in
===================================================================
--- tests/regression/Parser/Mpqc/pre/water.in	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Mpqc/pre/water.in	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,28 @@
+% Created by MoleCuilder
+mpqc: (
+	savestate = no
+	do_gradient = yes
+	mole<MBPT2>: (
+		basis = $:basis
+		molecule = $:molecule
+		memory = 16000000
+		reference<CLHF>: (
+			maxiter = 1000
+			basis = $:basis
+			molecule = $:molecule
+			memory = 16000000
+		)
+	)
+)
+molecule<Molecule>: (
+	unit = angstrom
+	{ atoms geometry } = {
+		O [ -0.506	0	0 ]
+		H [ 0.253	0	0.504 ]
+		H [ 0.253	0	-0.504 ]
+	}
+)
+basis<GaussianBasisSet>: (
+	name = "3-21G"
+	molecule = $:molecule
+)
Index: tests/regression/Parser/Mpqc/testsuite-parser-mpqc-load-multiply.at
===================================================================
--- tests/regression/Parser/Mpqc/testsuite-parser-mpqc-load-multiply.at	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Mpqc/testsuite-parser-mpqc-load-multiply.at	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,12 @@
+### parsing mpqc
+
+AT_SETUP([Parser - loading twice the same mpqc file])
+AT_KEYWORDS([parser load mpqc select-molecule-by-order select-molecules-atoms translate-atoms])
+
+srcfile=water.in
+destfile=doublewater.in
+AT_CHECK([../../molecuilder -i $destfile -o mpqc -l ${abs_top_srcdir}/tests/regression/Parser/Mpqc/pre/$srcfile], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilder -i $destfile -l ${abs_top_srcdir}/tests/regression/Parser/Mpqc/pre/$srcfile --select-molecule-by-order -1 --select-molecules-atoms --translate-atoms "2,0,0"], 0, [ignore], [ignore])
+AT_CHECK([diff -I '%.*' $destfile ${abs_top_srcdir}/tests/regression/Parser/Mpqc/post/$destfile], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/regression/Parser/Pcp/post/doubletest.conf
===================================================================
--- tests/regression/Parser/Pcp/post/doubletest.conf	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Pcp/post/doubletest.conf	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,73 @@
+# 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	3	# 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	1	# check every ..th steps
+MaxMinGapStopStep	1	# 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	1	# check every ..th steps
+InitMaxMinGapStopStep	1	# 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	1	# here: specifying both maximum number of SpinUp- and -Down-states
+PsiMaxNoUp	1	# here: specifying maximum number of SpinUp-states
+PsiMaxNoDown	1	# 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	2	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
+Ion_Type1_2	10.000000000	10.000000000	10.000000000	0 # molecule nr 1
Index: tests/regression/Parser/Pcp/post/doublewater.conf
===================================================================
--- tests/regression/Parser/Pcp/post/doublewater.conf	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Pcp/post/doublewater.conf	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,78 @@
+# 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	3	# 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	4	# check every ..th steps
+MaxMinGapStopStep	1	# 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	4	# check every ..th steps
+InitMaxMinGapStopStep	1	# 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	4	# here: specifying both maximum number of SpinUp- and -Down-states
+PsiMaxNoUp	4	# here: specifying maximum number of SpinUp-states
+PsiMaxNoDown	4	# 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	2	# 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	4	1	1.0	3	3	1.00800000000	Hydrogen	H
+Ion_Type2	2	8	1.0	3	3	15.99900000000	Oxygen	O
+#Ion_TypeNr._Nr.R[0]    R[1]    R[2]    MoveType (0 MoveIon, 1 FixedIon)
+Ion_Type1_1	0.759000000	0.000000000	0.504000000	0 # molecule nr 0
+Ion_Type1_2	0.759000000	0.000000000	-0.504000000	0 # molecule nr 1
+Ion_Type2_1	0.000000000	0.000000000	0.000000000	0 # molecule nr 2
+Ion_Type1_3	2.759000000	0.000000000	0.504000000	0 # molecule nr 3
+Ion_Type1_4	2.759000000	0.000000000	-0.504000000	0 # molecule nr 4
+Ion_Type2_2	2.000000000	0.000000000	0.000000000	0 # molecule nr 5
Index: tests/regression/Parser/Pcp/pre/water.conf
===================================================================
--- tests/regression/Parser/Pcp/pre/water.conf	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Pcp/pre/water.conf	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,75 @@
+# 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	2	# 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	2	# 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	2	# here: specifying both maximum number of SpinUp- and -Down-states
+PsiMaxNoUp	2	# here: specifying maximum number of SpinUp-states
+PsiMaxNoDown	2	# 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	2	# 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	2	1	1.0	3	3	1.00800000000	Hydrogen	H
+Ion_Type2	1	8	1.0	3	3	15.99900000000	Oxygen	O
+#Ion_TypeNr._Nr.R[0]    R[1]    R[2]    MoveType (0 MoveIon, 1 FixedIon)
+Ion_Type2_1	0.000000000	0.000000000	0.000000000	0 # molecule nr 0
+Ion_Type1_1	0.759000000	0.000000000	0.504000000	0 # molecule nr 1
+Ion_Type1_2	0.759000000	0.000000000	-0.504000000	0 # molecule nr 2
Index: tests/regression/Parser/Pcp/testsuite-parser-pcp-load-multiply.at
===================================================================
--- tests/regression/Parser/Pcp/testsuite-parser-pcp-load-multiply.at	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Pcp/testsuite-parser-pcp-load-multiply.at	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,13 @@
+### parsing pcp
+
+AT_SETUP([Parser - loading twice the same conf file])
+AT_KEYWORDS([parser load pcp select-molecule-by-order select-molecules-atoms translate-atoms])
+
+srcfile=water.conf
+destfile=doublewater.conf
+AT_CHECK([../../molecuilder -i $destfile -o pcp -l ${abs_top_srcdir}/tests/regression/Parser/Pcp/pre/$srcfile], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilder -i $destfile -l ${abs_top_srcdir}/tests/regression/Parser/Pcp/pre/$srcfile --select-molecule-by-order -1 --select-molecules-atoms --translate-atoms "2,0,0"], 0, [ignore], [ignore])
+AT_CHECK([diff $destfile ${abs_top_srcdir}/tests/regression/Parser/Pcp/post/$destfile], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
Index: tests/regression/Parser/Pdb/post/doublewater.pdb
===================================================================
--- tests/regression/Parser/Pdb/post/doublewater.pdb	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Pdb/post/doublewater.pdb	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,14 @@
+REMARK created by molecuilder on Wed Jan  4 19:34:11 2012, time step 0
+ATOM      1 O01 0non 01          0.000   0.000   0.000  0.00  0.00           O 0
+ATOM      2 H01 0non 01          0.759   0.000   0.504  0.00  0.00           H 0
+ATOM      3 H02 0non 01          0.759   0.000  -0.504  0.00  0.00           H 0
+ATOM      4 O01 0non 02          2.000   0.000   0.000  0.00  0.00           O 0
+ATOM      5 H01 0non 02          2.759   0.000   0.504  0.00  0.00           H 0
+ATOM      6 H02 0non 02          2.759   0.000  -0.504  0.00  0.00           H 0
+CONECT    1    2    3                                                           
+CONECT    2    1                                                                
+CONECT    3    1                                                                
+CONECT    4    5    6                                                           
+CONECT    5    4                                                                
+CONECT    6    4                                                                
+END
Index: tests/regression/Parser/Pdb/pre/water.pdb
===================================================================
--- tests/regression/Parser/Pdb/pre/water.pdb	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Pdb/pre/water.pdb	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,8 @@
+REMARK created by molecuilder on Fri Aug 12 18:59:41 2011, time step 0
+ATOM      1 O01 0non 01          0.000   0.000   0.000  0.00  0.00           O 0
+ATOM      2 H01 0non 01          0.759   0.000   0.504  0.00  0.00           H 0
+ATOM      3 H02 0non 01          0.759   0.000  -0.504  0.00  0.00           H 0
+CONECT    1    2    3
+CONECT    2    1
+CONECT    3    1
+END
Index: tests/regression/Parser/Pdb/testsuite-parser-pdb-load-multiply.at
===================================================================
--- tests/regression/Parser/Pdb/testsuite-parser-pdb-load-multiply.at	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Pdb/testsuite-parser-pdb-load-multiply.at	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,12 @@
+### parsing pdb
+
+AT_SETUP([Parser - loading twice the same pdb file])
+AT_KEYWORDS([parser load pdb select-molecule-by-order select-molecules-atoms translate-atoms])
+
+srcfile=water.pdb
+destfile=doublewater.pdb
+AT_CHECK([../../molecuilder -i $destfile -o pdb -l ${abs_top_srcdir}/tests/regression/Parser/Pdb/pre/$srcfile], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilder -i $destfile -l ${abs_top_srcdir}/tests/regression/Parser/Pdb/pre/$srcfile --select-molecule-by-order -1 --select-molecules-atoms --translate-atoms "2,0,0"], 0, [ignore], [ignore])
+AT_CHECK([diff -I 'REMARK.*' $destfile ${abs_top_srcdir}/tests/regression/Parser/Pdb/post/$destfile], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/regression/Parser/Psi3/post/doublewater.psi
===================================================================
--- tests/regression/Parser/Psi3/post/doublewater.psi	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Psi3/post/doublewater.psi	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,20 @@
+% Created by MoleCuilder
+psi: (
+	label = "unknown job"
+	jobtype = sp
+	wfn = scf
+	maxiter = 80
+	reference = rhf
+	basis = "cc-pVTZ"
+	freeze_core = yes
+	units = angstrom
+	geometry = (
+	( O	-1.506	0	0 )
+	( H	-0.747	0	0.504 )
+	( H	-0.747	0	-0.504 )
+	( O	0.494	0	0 )
+	( H	1.253	0	0.504 )
+	( H	1.253	0	-0.504 )
+	)
+	origin = (0.0	0.0	0.0)
+)
Index: tests/regression/Parser/Psi3/pre/water.psi
===================================================================
--- tests/regression/Parser/Psi3/pre/water.psi	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Psi3/pre/water.psi	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,17 @@
+% Created by MoleCuilder
+psi: (
+	label = "unknown job"
+	jobtype = sp
+	wfn = scf
+	maxiter = 80
+	reference = rhf
+	basis = "cc-pVTZ"
+	freeze_core = yes
+	units = angstrom
+	geometry = (
+	( O	-0.506	0	0 )
+	( H	0.253	0	0.504 )
+	( H	0.253	0	-0.504 )
+	)
+	origin = (0.0	0.0	0.0)
+)
Index: tests/regression/Parser/Psi3/testsuite-parser-psi3-load-multiply.at
===================================================================
--- tests/regression/Parser/Psi3/testsuite-parser-psi3-load-multiply.at	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Psi3/testsuite-parser-psi3-load-multiply.at	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,13 @@
+### parsing psi3
+
+AT_SETUP([Parser - loading twice the same psi3 file])
+AT_KEYWORDS([parser load psi3 select-molecule-by-order select-molecules-atoms translate-atoms])
+
+srcfile=water.psi
+destfile=doublewater.psi
+AT_CHECK([../../molecuilder -i $destfile -o psi3 -l ${abs_top_srcdir}/tests/regression/Parser/Psi3/pre/$srcfile], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilder -i $destfile -l ${abs_top_srcdir}/tests/regression/Parser/Psi3/pre/$srcfile --select-molecule-by-order -1 --select-molecules-atoms --translate-atoms "2,0,0"], 0, [ignore], [ignore])
+AT_CHECK([diff -w -I '%.*' $destfile ${abs_top_srcdir}/tests/regression/Parser/Psi3/post/$destfile], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
Index: tests/regression/Parser/Tremolo/post/doublewater.data
===================================================================
--- tests/regression/Parser/Tremolo/post/doublewater.data	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Tremolo/post/doublewater.data	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,7 @@
+# ATOMDATA	Id	type	x=3	neighbors=4
+1	O	0	0	0	2	3	0	0	
+2	H	0.759	0	0.504	1	0	0	0	
+3	H	0.759	0	-0.504	1	0	0	0	
+4	O	2	0	0	5	6	0	0	
+5	H	2.759	0	0.504	4	0	0	0	
+6	H	2.759	0	-0.504	4	0	0	0	
Index: tests/regression/Parser/Tremolo/pre/water.data
===================================================================
--- tests/regression/Parser/Tremolo/pre/water.data	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Tremolo/pre/water.data	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,4 @@
+# ATOMDATA	Id	type	x=3	neighbors=4
+1	O	0	0	0	2	3	0	0	
+2	H	0.759	0	0.504	1	0	0	0	
+3	H	0.759	0	-0.504	1	0	0	0	
Index: tests/regression/Parser/Tremolo/testsuite-parser-tremolo-load-multiply.at
===================================================================
--- tests/regression/Parser/Tremolo/testsuite-parser-tremolo-load-multiply.at	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Tremolo/testsuite-parser-tremolo-load-multiply.at	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,13 @@
+### parsing tremolo
+
+
+AT_SETUP([Parser - loading twice the same tremolo file])
+AT_KEYWORDS([parser load tremolo select-molecule-by-order select-molecules-atoms translate-atoms])
+
+srcfile=water.data
+destfile=doublewater.data
+AT_CHECK([../../molecuilder -i $destfile -o tremolo -l ${abs_top_srcdir}/tests/regression/Parser/Tremolo/pre/$srcfile], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilder -i $destfile -l ${abs_top_srcdir}/tests/regression/Parser/Tremolo/pre/$srcfile --select-molecule-by-order -1 --select-molecules-atoms --translate-atoms "2,0,0"], 0, [ignore], [ignore])
+AT_CHECK([diff -w -I '#.*' $destfile ${abs_top_srcdir}/tests/regression/Parser/Tremolo/post/$destfile], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/regression/Parser/Xyz/post/doublewater.xyz
===================================================================
--- tests/regression/Parser/Xyz/post/doublewater.xyz	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Xyz/post/doublewater.xyz	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,8 @@
+6
+	Created by molecuilder on Thu Jan  5 13:10:24 2012, time step 0
+O	0	0	0
+H	0.759	0	0.504
+H	0.759	0	-0.504
+O	2	0	0
+H	2.759	0	0.504
+H	2.759	0	-0.504
Index: tests/regression/Parser/Xyz/pre/water.xyz
===================================================================
--- tests/regression/Parser/Xyz/pre/water.xyz	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Xyz/pre/water.xyz	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,5 @@
+3
+	Created by molecuilder on Thu Jan  5 13:10:13 2012, time step 0
+O	0	0	0
+H	0.759	0	0.504
+H	0.759	0	-0.504
Index: tests/regression/Parser/Xyz/testsuite-parser-xyz-load-multiply.at
===================================================================
--- tests/regression/Parser/Xyz/testsuite-parser-xyz-load-multiply.at	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
+++ tests/regression/Parser/Xyz/testsuite-parser-xyz-load-multiply.at	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -0,0 +1,12 @@
+### parsing xyz
+
+AT_SETUP([Parser - loading twice the same xyz file])
+AT_KEYWORDS([parser load xyz select-molecule-by-order select-molecules-atoms translate-atoms])
+
+srcfile=water.xyz
+destfile=doublewater.xyz
+AT_CHECK([../../molecuilder -i $destfile -o xyz -l ${abs_top_srcdir}/tests/regression/Parser/Xyz/pre/$srcfile], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilder -i $destfile -l ${abs_top_srcdir}/tests/regression/Parser/Xyz/pre/$srcfile --select-molecule-by-order -1 --select-molecules-atoms --translate-atoms "2,0,0"], 0, [ignore], [ignore])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $destfile ${abs_top_srcdir}/tests/regression/Parser/Xyz/post/$destfile], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/regression/Parser/testsuite-parser.at
===================================================================
--- tests/regression/Parser/testsuite-parser.at	(revision 9fd196a18e0a47b5eb4d5d4d98793332ac09cad9)
+++ tests/regression/Parser/testsuite-parser.at	(revision d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6)
@@ -5,4 +5,5 @@
 m4_include([Parser/Mpqc/testsuite-parser-mpqc-empty.at])
 m4_include([Parser/Mpqc/testsuite-parser-mpqc-load.at])
+m4_include([Parser/Mpqc/testsuite-parser-mpqc-load-multiply.at])
 m4_include([Parser/Mpqc/testsuite-parser-mpqc-save.at])
 
@@ -16,4 +17,5 @@
 m4_include([Parser/Pcp/testsuite-parser-pcp-empty.at])
 m4_include([Parser/Pcp/testsuite-parser-pcp-load.at])
+m4_include([Parser/Pcp/testsuite-parser-pcp-load-multiply.at])
 m4_include([Parser/Pcp/testsuite-parser-pcp-multiple-timesteps.at])
 m4_include([Parser/Pcp/testsuite-parser-pcp-save.at])
@@ -22,4 +24,5 @@
 m4_include([Parser/Pdb/testsuite-parser-pdb-empty.at])
 m4_include([Parser/Pdb/testsuite-parser-pdb-load.at])
+m4_include([Parser/Pdb/testsuite-parser-pdb-load-multiply.at])
 m4_include([Parser/Pdb/testsuite-parser-pdb-multiple-timesteps.at])
 m4_include([Parser/Pdb/testsuite-parser-pdb-save.at])
@@ -35,7 +38,8 @@
 m4_include([Parser/Pdb/testsuite-parser-pdb-load-various.at])
 
-# parsing mpqc
+# parsing psi3
 m4_include([Parser/Psi3/testsuite-parser-psi3-empty.at])
 m4_include([Parser/Psi3/testsuite-parser-psi3-load.at])
+m4_include([Parser/Psi3/testsuite-parser-psi3-load-multiply.at])
 m4_include([Parser/Psi3/testsuite-parser-psi3-save.at])
 
@@ -43,4 +47,5 @@
 m4_include([Parser/Tremolo/testsuite-parser-tremolo-empty.at])
 m4_include([Parser/Tremolo/testsuite-parser-tremolo-load.at])
+m4_include([Parser/Tremolo/testsuite-parser-tremolo-load-multiply.at])
 m4_include([Parser/Tremolo/testsuite-parser-tremolo-save.at])
 
@@ -56,4 +61,5 @@
 m4_include([Parser/Xyz/testsuite-parser-xyz-empty.at])
 m4_include([Parser/Xyz/testsuite-parser-xyz-load.at])
+m4_include([Parser/Xyz/testsuite-parser-xyz-load-multiply.at])
 m4_include([Parser/Xyz/testsuite-parser-xyz-multiple-timesteps.at])
 m4_include([Parser/Xyz/testsuite-parser-xyz-save.at])
