#
# MoleCuilder - creates and alters molecular systems
# Copyright (C) 2008-2012 University of Bonn
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
#
#
# MoleCuilder - creates and alters molecular systems
# Copyright (C) 2008-2012 University of Bonn
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
#
### add atom
AT_SETUP([Atoms - adding atom])
AT_KEYWORDS([atoms add-atom])
AT_CHECK([../../molecuilder -i test.conf -o mpqc pcp xyz tremolo pdb -a 1 --domain-position "10., 10., 10."], 0, [ignore], [ignore])
AT_CHECK([file=test.conf; diff -I '#.*' $file ${abs_top_srcdir}/tests/regression/Atoms/Add/post/test.conf], 0, [ignore], [ignore])
AT_CHECK([file=test.data; diff -I '#.*' $file ${abs_top_srcdir}/tests/regression/Atoms/Add/post/test.data], 0, [ignore], [ignore])
AT_CHECK([file=test.in; diff -I '.*reated by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Atoms/Add/post/test.in], 0, [ignore], [ignore])
AT_CHECK([file=test.pdb; diff -I '.*reated by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Atoms/Add/post/test.pdb], 0, [ignore], [ignore])
AT_CHECK([file=test.xyz; diff -I '.*reated by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Atoms/Add/post/test.xyz], 0, [ignore], [ignore])
AT_CLEANUP
AT_SETUP([Atoms - adding atom with Undo])
AT_KEYWORDS([atoms add-atom undo])
AT_CHECK([../../molecuilder -i empty.conf -o pcp -a 1 --domain-position "10., 10., 10." --undo], 0, [ignore], [ignore])
AT_CHECK([file=empty.conf; diff $file ${abs_top_srcdir}/tests/regression/Atoms/Add/post/empty.conf], 0, [ignore], [ignore])
AT_CLEANUP
AT_SETUP([Atoms - adding atom with Redo])
AT_KEYWORDS([atoms add-atom redo])
AT_CHECK([../../molecuilder -i test.conf -o mpqc pcp xyz tremolo pdb -a 1 --domain-position "10., 10., 10." --undo --redo], 0, [ignore], [ignore])
AT_CHECK([file=test.conf; diff -I '#.*' $file ${abs_top_srcdir}/tests/regression/Atoms/Add/post/test.conf], 0, [ignore], [ignore])
AT_CHECK([file=test.data; diff -I '#.*' $file ${abs_top_srcdir}/tests/regression/Atoms/Add/post/test.data], 0, [ignore], [ignore])
AT_CHECK([file=test.in; diff -I '#.*' $file ${abs_top_srcdir}/tests/regression/Atoms/Add/post/test.in], 0, [ignore], [ignore])
AT_CHECK([file=test.pdb; diff -I '.*reated by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Atoms/Add/post/test.pdb], 0, [ignore], [ignore])
AT_CHECK([file=test.xyz; diff -I '.*reated by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Atoms/Add/post/test.xyz], 0, [ignore], [ignore])
AT_CLEANUP
AT_SETUP([Atoms - adding outside boundary fails])
AT_KEYWORDS([atoms boundary add-atom])
AT_XFAIL_IF([/bin/true])
AT_CHECK([../../molecuilder -i test2.conf -o mpqc pcp xyz tremolo pdb --set-boundary-conditions "Ignore,Ignore,Ignore" -a 1 --domain-position "0., 0., -1."], 134, [ignore], [ignore])
AT_CLEANUP