Index: tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-cube.at
===================================================================
--- tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-cube.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-cube.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,101 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2014 Frederik Heber
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### filling cube's surface
+
+AT_SETUP([Filling - Fill cube's surface])
+AT_KEYWORDS([filling fill-surface cube rotate-to-principal-axis-system])
+
+file=water_cube.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/water.xyz water.xyz], 0)
+AT_CHECK([chmod u+w water.xyz], 0)
+AT_CHECK([../../molecuilder \
+	-i $file \
+	-l water.xyz \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "cube1" \
+		--shape-type "cube" \
+		--translation "10,10,10" \
+		--stretch "5.,5.,5." \
+	--select-shape-by-name "cube1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,-1"
+], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - Fill cube's surface with Undo])
+AT_KEYWORDS([filling fill-surface cube rotate-to-principal-axis-system undo])
+
+file=water_undo.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/water.xyz water.xyz], 0)
+AT_CHECK([chmod u+w water.xyz], 0)
+AT_CHECK([../../molecuilder \
+	-i $file \
+	-l water.xyz \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "cube1" \
+		--shape-type "cube" \
+		--translation "10,10,10" \
+		--stretch "5.,5.,5." \
+	--select-shape-by-name "cube1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,-1" \
+	--undo
+], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - Fill cube's surface with Redo])
+AT_KEYWORDS([filling fill-surface cube rotate-to-principal-axis-system redo])
+
+file=water_cube.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/water.xyz water.xyz], 0)
+AT_CHECK([chmod u+w water.xyz], 0)
+AT_CHECK([../../molecuilder \
+	-i $file \
+	-l water.xyz \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "cube1" \
+		--shape-type "cube" \
+		--translation "10,10,10" \
+		--stretch "5.,5.,5." \
+	--select-shape-by-name "cube1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,-1" \
+	--undo \
+	--redo
+], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-cylinder.at
===================================================================
--- tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-cylinder.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-cylinder.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,101 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2014 Frederik Heber
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### filling cylinder's surface
+
+AT_SETUP([Filling - Fill cylinder's surface])
+AT_KEYWORDS([filling fill-surface cylinder rotate-to-principal-axis-system])
+
+file=water_cylinder.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/water.xyz water.xyz], 0)
+AT_CHECK([chmod u+w water.xyz], 0)
+AT_CHECK([../../molecuilder \
+	-i $file \
+	-l water.xyz \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "cylinder1" \
+		--shape-type "cylinder" \
+		--translation "10,10,0." \
+		--stretch "5.,5.,20." \
+	--select-shape-by-name "cylinder1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,-1"
+], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - Fill cylinder's surface with Undo])
+AT_KEYWORDS([filling fill-surface cylinder rotate-to-principal-axis-system undo])
+
+file=water_undo.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/water.xyz water.xyz], 0)
+AT_CHECK([chmod u+w water.xyz], 0)
+AT_CHECK([../../molecuilder \
+	-i $file \
+	-l water.xyz \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "cylinder1" \
+		--shape-type "cylinder" \
+		--translation "10,10,0." \
+		--stretch "5.,5.,20." \
+	--select-shape-by-name "cylinder1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,-1" \
+	--undo
+], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - Fill cylinder's surface with Redo])
+AT_KEYWORDS([filling fill-surface cylinder rotate-to-principal-axis-system redo])
+
+file=water_cylinder.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/water.xyz water.xyz], 0)
+AT_CHECK([chmod u+w water.xyz], 0)
+AT_CHECK([../../molecuilder \
+	-i $file \
+	-l water.xyz \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "cylinder1" \
+		--shape-type "cylinder" \
+		--translation "10,10,0." \
+		--stretch "5.,5.,20." \
+	--select-shape-by-name "cylinder1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,-1" \
+	--undo \
+	--redo
+], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-everywhere.at
===================================================================
--- tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-everywhere.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-everywhere.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,46 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2014 Frederik Heber
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### filling everywhere's surface
+
+AT_SETUP([Filling - Fill everywhere's surface fails])
+AT_KEYWORDS([filling fill-surface everywhere rotate-to-principal-axis-system])
+
+file=water_everywhere.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/water.xyz water.xyz], 0)
+AT_CHECK([chmod u+w water.xyz], 0)
+AT_CHECK([../../molecuilder \
+	-i $file \
+	-l water.xyz \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "everywhere1" \
+		--shape-type "everywhere" \
+		--translation "0,0,0" \
+		--stretch "20.,20.,20." \
+	--select-shape-by-name "everywhere1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,1"
+], 5, [stdout], [stderr])
+#AT_CHECK([grep "20 out of 20 returned true from predicate" stdout], 0, [ignore], [ignore])
+#AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
Index: tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-micelle.at
===================================================================
--- tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-micelle.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-micelle.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,104 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2014 Frederik Heber
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### create Micelle by filling sphere's surface
+
+AT_SETUP([Filling - Creating micelle by surface filling])
+AT_KEYWORDS([filling fill-surface sphere micelle rotate-to-principal-axis-system])
+
+file=tensid.data
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/tensid.data $file], 0)
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/tensid.potentials .], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder \
+	--parse-tremolo-potentials tensid.potentials \
+	-i $file \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "sphere1" \
+		--shape-type "sphere" \
+		--translation "0,0,0" \
+		--stretch "20.,20.,20." \
+	--select-shape-by-name "sphere1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,1"
+], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/tensid.data], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - Creating micelle by surface filling with Undo])
+AT_KEYWORDS([filling fill-surface sphere micelle rotate-to-principal-axis-system undo])
+
+file=tensid-undo.data
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/tensid.data $file], 0)
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/tensid.potentials .], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder \
+	--parse-tremolo-potentials tensid.potentials \
+	-i $file \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "sphere1" \
+		--shape-type "sphere" \
+		--translation "0,0,0" \
+		--stretch "20.,20.,20." \
+	--select-shape-by-name "sphere1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,1" \
+	--undo
+], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - Creating micelle by surface filling with Redo])
+AT_KEYWORDS([filling fill-surface sphere micelle rotate-to-principal-axis-system redo])
+
+file=tensid.data
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/tensid.data $file], 0)
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/tensid.potentials .], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder \
+	--parse-tremolo-potentials tensid.potentials \
+	-i $file \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "sphere1" \
+		--shape-type "sphere" \
+		--translation "0,0,0" \
+		--stretch "20.,20.,20." \
+	--select-shape-by-name "sphere1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,1" \
+	--undo \
+	--redo
+], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/tensid.data], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-nowhere.at
===================================================================
--- tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-nowhere.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-nowhere.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,45 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2014 Frederik Heber
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### filling nowhere's surface
+
+AT_SETUP([Filling - Fill nowhere's surface fails])
+AT_KEYWORDS([filling fill-surface nowhere rotate-to-principal-axis-system])
+
+file=water_nowhere.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/water.xyz water.xyz], 0)
+AT_CHECK([chmod u+w water.xyz], 0)
+AT_CHECK([../../molecuilder \
+	-i $file \
+	-l water.xyz \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "nowhere1" \
+		--shape-type "nowhere" \
+		--translation "0,0,0" \
+		--stretch "20.,20.,20." \
+	--select-shape-by-name "nowhere1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,1"
+], 5, [stdout], [stderr])
+#AT_CHECK([grep "20 out of 20 returned true from predicate" stdout], 0, [ignore], [ignore])
+#AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-sphere.at
===================================================================
--- tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-sphere.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/FillSurface/testsuite-fill-surface-sphere.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,101 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2014 Frederik Heber
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### filling sphere's surface
+
+AT_SETUP([Filling - Fill sphere's surface])
+AT_KEYWORDS([filling fill-surface sphere rotate-to-principal-axis-system])
+
+file=water_sphere.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/water.xyz water.xyz], 0)
+AT_CHECK([chmod u+w water.xyz], 0)
+AT_CHECK([../../molecuilder \
+	-i $file \
+	-l water.xyz \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "sphere1" \
+		--shape-type "sphere" \
+		--translation "10,10,10" \
+		--stretch "5.,5.,5." \
+	--select-shape-by-name "sphere1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,-1"
+], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - Fill sphere's surface with Undo])
+AT_KEYWORDS([filling fill-surface sphere rotate-to-principal-axis-system undo])
+
+file=water_undo.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/water.xyz water.xyz], 0)
+AT_CHECK([chmod u+w water.xyz], 0)
+AT_CHECK([../../molecuilder \
+	-i $file \
+	-l water.xyz \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "sphere1" \
+		--shape-type "sphere" \
+		--translation "10,10,10" \
+		--stretch "5.,5.,5." \
+	--select-shape-by-name "sphere1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,-1" \
+	--undo
+], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - Fill sphere's surface with Redo])
+AT_KEYWORDS([filling fill-surface sphere rotate-to-principal-axis-system redo])
+
+file=water_sphere.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillSurface/pre/water.xyz water.xyz], 0)
+AT_CHECK([chmod u+w water.xyz], 0)
+AT_CHECK([../../molecuilder \
+	-i $file \
+	-l water.xyz \
+	--select-all-molecules \
+	--rotate-to-principal-axis-system "0,0,-1" \
+	--create-shape \
+		--shape-name "sphere1" \
+		--shape-type "sphere" \
+		--translation "10,10,10" \
+		--stretch "5.,5.,5." \
+	--select-shape-by-name "sphere1" \
+	--fill-surface \
+		--count 20 \
+		--min-distance 3.1 \
+		--Alignment-Axis "0,0,-1" \
+	--undo \
+	--redo
+], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillSurface/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-cube.at
===================================================================
--- tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-cube.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-cube.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,43 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2014 Frederik Heber
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### filling various shapes
+
+# cuboid_impl::getHomogeneousPointsInVolume() is not implemented
+AT_SETUP([Filling - filling cube's volume])
+AT_KEYWORDS([filling fill-volume cube])
+AT_XFAIL_IF([/bin/true])
+
+file=water_cube.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillVolume/pre/water.xyz water.xyz], 0)
+AT_CHECK([
+	../../molecuilder \
+		-i $file \
+		-o xyz \
+		-l water.xyz \
+		--select-all-molecules \
+		--create-shape \
+			--shape-name "cube" \
+			--shape-type cube \
+			--translation 5,5,5 \
+			--stretch 3,3,3 \
+		--select-shape-by-name "cube" \
+		--fill-volume \
+			--count 12], 0, [stdout], [stderr])
+#AT_CHECK([diff -I '.*reated by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillVolume/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-cylinder.at
===================================================================
--- tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-cylinder.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-cylinder.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,92 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2014 Frederik Heber
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### filling various shapes
+
+AT_SETUP([Filling - filling cylinder's volume])
+AT_KEYWORDS([filling fill-volume cylinder])
+
+file=water_cylinder.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillVolume/pre/water.xyz water.xyz], 0)
+AT_CHECK([
+	../../molecuilder \
+		-i $file \
+		-o xyz \
+		-l water.xyz \
+		--select-all-molecules \
+		--create-shape \
+			--shape-name "cylinder" \
+			--shape-type cylinder \
+			--translation 5,5,5 \
+			--stretch 3,3,3 \
+		--select-shape-by-name "cylinder" \
+		--fill-volume \
+			--count 12], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*reated by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillVolume/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - filling cylinder's volume with undo])
+AT_KEYWORDS([filling fill-volume cylinder undo])
+
+file=water_cylinder.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillVolume/pre/water.xyz water.xyz], 0)
+AT_CHECK([
+	../../molecuilder \
+		-i $file \
+		-o xyz \
+		-l water.xyz \
+		--select-all-molecules \
+		--create-shape \
+			--shape-name "cylinder" \
+			--shape-type cylinder \
+			--translation 5,5,5 \
+			--stretch 3,3,3 \
+		--select-shape-by-name "cylinder" \
+		--fill-volume \
+			--count 12 \
+		--undo], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*reated by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillVolume/post/water_undo.xyz], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - filling cylinder's volume with redo])
+AT_KEYWORDS([filling fill-volume cylinder undo redo])
+
+file=water_cylinder.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillVolume/pre/water.xyz water.xyz], 0)
+AT_CHECK([
+	../../molecuilder \
+		-i $file \
+		-o xyz \
+		-l water.xyz \
+		--select-all-molecules \
+		--create-shape \
+			--shape-name "cylinder" \
+			--shape-type cylinder \
+			--translation 5,5,5 \
+			--stretch 3,3,3 \
+		--select-shape-by-name "cylinder" \
+		--fill-volume \
+			--count 12 \
+		--undo \
+		--redo], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*reated by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillVolume/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-everywhere.at
===================================================================
--- tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-everywhere.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-everywhere.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,43 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2014 Frederik Heber
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### filling various shapes
+
+# everywhere_impl::getHomogeneousPointsInVolume() not implemented, then it would just fail
+AT_SETUP([Filling - filling everywhere's volume fails])
+AT_KEYWORDS([filling fill-volume everywhere])
+
+file=water_nowhere.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillVolume/pre/water.xyz water.xyz], 0)
+AT_CHECK([
+	../../molecuilder \
+		-i $file \
+		-o xyz \
+		-l water.xyz \
+		--select-all-molecules \
+		--create-shape \
+			--shape-name "everywhere" \
+			--shape-type everywhere \
+			--translation 5,5,5 \
+			--stretch 3,3,3 \
+		--select-shape-by-name "everywhere" \
+		--fill-volume \
+			--count 12], 5, [stdout], [stderr])
+#AT_CHECK([diff -I '.*reated by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillVolume/post/$file], 0, [ignore], [ignore])
+
+
+AT_CLEANUP
Index: tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-nowhere.at
===================================================================
--- tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-nowhere.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-nowhere.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,42 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2014 Frederik Heber
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### filling various shapes
+
+# nowhere fails because there are no points
+AT_SETUP([Filling - filling nowhere's volume fails])
+AT_KEYWORDS([filling fill-volume nowhere])
+
+file=water_nowhere.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillVolume/pre/water.xyz water.xyz], 0)
+AT_CHECK([
+	../../molecuilder \
+		-i $file \
+		-o xyz \
+		-l water.xyz \
+		--select-all-molecules \
+		--create-shape \
+			--shape-name "nowhere" \
+			--shape-type nowhere \
+			--translation 5,5,5 \
+			--stretch 3,3,3 \
+		--select-shape-by-name "nowhere" \
+		--fill-volume \
+			--count 12], 5, [stdout], [stderr])
+#AT_CHECK([diff -I '.*reated by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillVolume/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-sphere.at
===================================================================
--- tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-sphere.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/FillVolume/testsuite-fill-volume-sphere.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,43 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2014 Frederik Heber
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### filling various shapes
+
+# sphere_impl::getHomogeneousPointsInVolume() is not implemented
+AT_SETUP([Filling - filling sphere's volume])
+AT_KEYWORDS([filling fill-volume sphere])
+AT_XFAIL_IF([/bin/true])
+
+file=water_sphere.xyz
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/FillVolume/pre/water.xyz water.xyz], 0)
+AT_CHECK([
+	../../molecuilder \
+		-i $file \
+		-o xyz \
+		-l water.xyz \
+		--select-all-molecules \
+		--create-shape \
+			--shape-name "sphere" \
+			--shape-type sphere \
+			--translation 5,5,5 \
+			--stretch 3,3,3 \
+		--select-shape-by-name "sphere" \
+		--fill-volume \
+			--count 12], 0, [stdout], [stderr])
+#AT_CHECK([diff -I '.*reated by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/FillVolume/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/GuiChecks/Filling/RegularGrid/testsuite-fill-regular-grid-with-surface.at
===================================================================
--- tests/GuiChecks/Filling/RegularGrid/testsuite-fill-regular-grid-with-surface.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/RegularGrid/testsuite-fill-regular-grid-with-surface.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,72 @@
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### fill regular grid with surface
+
+AT_SETUP([Filling - Fill regular grid with surface and no atoms])
+AT_KEYWORDS([filling fill-regular-grid add-empty-boundary])
+
+file=solved_double_sles.data
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/double_sles.data $file], 0)
+AT_CHECK([chmod u+w $file], 0)
+# check that specifying radius but selecting no atoms is wrong
+AT_CHECK([../../molecuilder --dry-run --parse-tremolo-potentials ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/sles.potentials -i $file -B "14.199,0,14.199,0,0,14.199" --load ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/water.data --select-molecule-by-order -1 --fill-regular-grid --mesh-size 5 5 5 --mesh-offset "0.5,0.5,0.5" --tesselation-radius 10 --min-distance .5 --no-dry-run --store-session session-fill-regular-grid-with-surface.py --session-type python], 0, [stdout], [stderr])
+AT_CHECK([grep -v "Command.*DryRun" session-fill-regular-grid-with-surface.py >session-fill-regular-grid-with-surface_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-fill-regular-grid-with-surface_new.py], 5, [stdout], [stderr])
+
+AT_CLEANUP
+
+AT_SETUP([Filling - Fill regular grid with surface])
+AT_KEYWORDS([filling fill-regular-grid add-empty-boundary])
+
+file=solved_double_sles.data
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/double_sles.data $file], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder --dry-run --parse-tremolo-potentials ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/sles.potentials -i $file --select-all-atoms -B "14.199,0,14.199,0,0,14.199" --load ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/water.data --select-molecule-by-order -1 --fill-regular-grid --mesh-size 5 5 5 --mesh-offset "0.5,0.5,0.5" --tesselation-radius 10 --min-distance .5 --no-dry-run --store-session session-fill-regular-grid-with-surface.py --session-type python], 0, [stdout], [stderr])
+AT_CHECK([grep -v "Command.*DryRun" session-fill-regular-grid-with-surface.py >session-fill-regular-grid-with-surface_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-fill-regular-grid-with-surface_new.py], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - Fill regular grid with surface with Undo])
+AT_KEYWORDS([filling fill-regular-grid undo])
+
+file=solved_double_sles.data
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/double_sles.data $file], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder --dry-run --parse-tremolo-potentials ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/sles.potentials -i $file --select-all-atoms -B "14.199,0,14.199,0,0,14.199" --load ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/water.data --select-molecule-by-order -1 --fill-regular-grid --mesh-size 5 5 5 --mesh-offset "0.5,0.5,0.5" --tesselation-radius 10 --min-distance .5 --undo --no-dry-run --store-session session-fill-regular-grid-with-surface.py --session-type python], 0, [stdout], [stderr])
+AT_CHECK([grep -v "Command.*DryRun" session-fill-regular-grid-with-surface.py >session-fill-regular-grid-with-surface_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-fill-regular-grid-with-surface_new.py], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/post/double_sles-undo.data], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - Fill regular grid with surface with Redo])
+AT_KEYWORDS([filling fill-regular-grid redo])
+
+file=solved_double_sles.data
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/double_sles.data $file], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder --dry-run --parse-tremolo-potentials ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/sles.potentials -i $file --select-all-atoms -B "14.199,0,14.199,0,0,14.199" --load ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/water.data --select-molecule-by-order -1 --fill-regular-grid --mesh-size 5 5 5 --mesh-offset "0.5,0.5,0.5" --tesselation-radius 10 --min-distance .5 --undo --redo --no-dry-run --store-session session-fill-regular-grid-with-surface.py --session-type python], 0, [stdout], [stderr])
+AT_CHECK([grep -v "Command.*DryRun" session-fill-regular-grid-with-surface.py >session-fill-regular-grid-with-surface_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-fill-regular-grid-with-surface_new.py], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/GuiChecks/Filling/RegularGrid/testsuite-fill-regular-grid.at
===================================================================
--- tests/GuiChecks/Filling/RegularGrid/testsuite-fill-regular-grid.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/RegularGrid/testsuite-fill-regular-grid.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,59 @@
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### fill regular grid
+
+AT_SETUP([Filling - Fill regular grid])
+AT_KEYWORDS([filling fill-regular-grid add-empty-boundary])
+
+file=solved_single_sles.data
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/single_sles.data $file], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder --dry-run --parse-tremolo-potentials ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/sles.potentials -i $file -B "14.199,0,16.6216,0,0,33.9159" --load ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/water.data --select-molecule-by-order -1 --fill-regular-grid --mesh-size 5 5 11 --mesh-offset "0.5,0.5,0.5" --min-distance 3.1 --no-dry-run --store-session session-fill-regular-grid.py --session-type python], 0, [stdout], [stderr])
+AT_CHECK([grep -v "Command.*DryRun" session-fill-regular-grid.py >session-fill-regular-grid_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-fill-regular-grid_new.py], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - Fill regular grid with Undo])
+AT_KEYWORDS([filling fill-regular-grid undo])
+
+file=solved_single_sles.data
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/single_sles.data $file], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder --dry-run --parse-tremolo-potentials ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/sles.potentials -i $file -B "14.199,0,16.6216,0,0,33.9159" --load ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/water.data --select-molecule-by-order -1 --fill-regular-grid --mesh-size 5 5 11 --mesh-offset "0.5,0.5,0.5" --min-distance 3.1 --undo --no-dry-run --store-session session-fill-regular-grid.py --session-type python], 0, [stdout], [stderr])
+AT_CHECK([grep -v "Command.*DryRun" session-fill-regular-grid.py >session-fill-regular-grid_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-fill-regular-grid_new.py], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/post/single_sles-undo.data], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - Fill regular grid with Redo])
+AT_KEYWORDS([filling fill-regular-grid redo])
+
+file=solved_single_sles.data
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/single_sles.data $file], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder --dry-run --parse-tremolo-potentials ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/sles.potentials -i $file -B "14.199,0,16.6216,0,0,33.9159" --load ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/water.data --select-molecule-by-order -1 --fill-regular-grid --mesh-size 5 5 11 --mesh-offset "0.5,0.5,0.5" --min-distance 3.1 --undo --redo --no-dry-run --store-session session-fill-regular-grid.py --session-type python], 0, [stdout], [stderr])
+AT_CHECK([grep -v "Command.*DryRun" session-fill-regular-grid.py >session-fill-regular-grid_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-fill-regular-grid_new.py], 0, [stdout], [stderr])
+AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/GuiChecks/Filling/SuspendInWater/testsuite-suspend-in-water.at
===================================================================
--- tests/GuiChecks/Filling/SuspendInWater/testsuite-suspend-in-water.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/SuspendInWater/testsuite-suspend-in-water.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,98 @@
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+### suspend in water with certain density
+
+AT_SETUP([Filling - suspend in water fails with rho=1])
+AT_KEYWORDS([filling suspend-in-water])
+
+file=test.conf
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/SuspendInWater/pre/test.conf $file], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder --dry-run -i $file -I -v 3 --select-molecule-by-id 0 -u --density 1. --no-dry-run --store-session session-suspend-in-water.py --session-type python], 0, [stdout], [stderr])
+AT_CHECK([grep -v "Command.*DryRun" session-suspend-in-water.py >session-suspend-in-water_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-suspend-in-water_new.py], 5, [stdout], [stderr])
+
+AT_CLEANUP
+
+AT_SETUP([Filling - suspend in water fails with just one molecule])
+AT_KEYWORDS([filling suspend-in-water])
+
+file=single_molecule.conf
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/SuspendInWater/pre/$file $file], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder --dry-run -i $file -I -v 3 --select-molecule-by-id 0 -u --density 1. --no-dry-run --store-session session-suspend-in-water.py --session-type python], 0, [stdout], [stderr])
+AT_CHECK([grep -v "Command.*DryRun" session-suspend-in-water.py >session-suspend-in-water_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-suspend-in-water_new.py], 5, [stdout], [stderr])
+
+AT_CLEANUP
+
+# rho must be on same side of 1 as the present density
+AT_SETUP([Filling - suspend in water fails with wrong rho])
+AT_KEYWORDS([filling suspend-in-water])
+
+file=test.conf
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/SuspendInWater/pre/$file $file], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder --dry-run -i $file -I -v 3 --select-molecule-by-id 0 -u --density .5 --no-dry-run --store-session session-suspend-in-water.py --session-type python], 0, [stdout], [stderr])
+AT_CHECK([grep -v "Command.*DryRun" session-suspend-in-water.py >session-suspend-in-water_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-suspend-in-water_new.py], 5, [stdout], [stderr])
+
+AT_CLEANUP
+
+AT_SETUP([Filling - suspend in water])
+AT_XFAIL_IF([/bin/true])
+AT_KEYWORDS([filling suspend-in-water])
+
+file=test.conf
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/SuspendInWater/pre/$file $file], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder --dry-run -i $file -I -v 3 --select-molecule-by-id 0 -u --density 2. --no-dry-run --store-session session-suspend-in-water.py --session-type python], 0, [stdout], [stderr])
+AT_CHECK([grep -v "Command.*DryRun" session-suspend-in-water.py >session-suspend-in-water_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-suspend-in-water_new.py], 5, [stdout], [stderr])
+AT_CHECK([diff $file ${abs_top_srcdir}/tests/regression/Filling/SuspendInWater/post/test.conf], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+AT_SETUP([Filling - suspend in water with Undo])
+AT_XFAIL_IF([/bin/true])
+AT_KEYWORDS([filling suspend-in-water undo])
+
+file=test.conf
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/SuspendInWater/pre/test.conf $file], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder --dry-run -i $file -I -v 3 --select-molecule-by-id 0 -u --density 2. --undo --no-dry-run --store-session session-suspend-in-water.py --session-type python], 0, [stdout], [stderr])
+AT_CHECK([grep -v "Command.*DryRun" session-suspend-in-water.py >session-suspend-in-water_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-suspend-in-water_new.py], 0, [stdout], [stderr])
+AT_CHECK([diff $file ${abs_top_srcdir}/tests/regression/Filling/SuspendInWater/post/test.conf], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([Filling - suspend in water with Redo])
+AT_XFAIL_IF([/bin/true])
+AT_KEYWORDS([filling suspend-in-water redo])
+
+file=test.conf
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/SuspendInWater/pre/test.conf $file], 0)
+AT_CHECK([chmod u+w $file], 0)
+AT_CHECK([../../molecuilder --dry-run -i $file -I -v 3 --select-molecule-by-id 0 -u --density 2. --undo --redo --no-dry-run --store-session session-suspend-in-water.py --session-type python], 0, [stdout], [stderr])
+AT_CHECK([grep -v "Command.*DryRun" session-suspend-in-water.py >session-suspend-in-water_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-suspend-in-water_new.py], 0, [stdout], [stderr])
+AT_CHECK([diff $file ${abs_top_srcdir}/tests/regression/Filling/SuspendInWater/post/test.conf], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/GuiChecks/Filling/testsuite-filling.at
===================================================================
--- tests/GuiChecks/Filling/testsuite-filling.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Filling/testsuite-filling.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,43 @@
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+AT_BANNER([MoleCuilder - Filling in molecules])
+
+# suspend in water with certain density
+m4_include(Filling/SuspendInWater/testsuite-suspend-in-water.at)
+
+# fill surface
+m4_include([Filling/FillSurface/testsuite-fill-surface-cube.at])
+m4_include([Filling/FillSurface/testsuite-fill-surface-cylinder.at])
+m4_include([Filling/FillSurface/testsuite-fill-surface-everywhere.at])
+m4_include([Filling/FillSurface/testsuite-fill-surface-nowhere.at])
+m4_include([Filling/FillSurface/testsuite-fill-surface-sphere.at])
+
+# create micelle by filling a spherical surface
+m4_include([Filling/FillSurface/testsuite-fill-surface-micelle.at])
+
+# fill regular grid
+m4_include([Filling/RegularGrid/testsuite-fill-regular-grid.at])
+m4_include([Filling/RegularGrid/testsuite-fill-regular-grid-with-surface.at])
+
+# filling shape's volumes
+m4_include(Filling/FillVolume/testsuite-fill-volume-cube.at)
+m4_include(Filling/FillVolume/testsuite-fill-volume-cylinder.at)
+m4_include(Filling/FillVolume/testsuite-fill-volume-everywhere.at)
+m4_include(Filling/FillVolume/testsuite-fill-volume-nowhere.at)
+m4_include(Filling/FillVolume/testsuite-fill-volume-sphere.at)
+
