Index: tests/GuiChecks/Selection/Atoms/AtomByOrder/testsuite-selection-select-atom-by-order.at
===================================================================
--- tests/GuiChecks/Selection/Atoms/AtomByOrder/testsuite-selection-select-atom-by-order.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Selection/Atoms/AtomByOrder/testsuite-selection-select-atom-by-order.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,116 @@
+#
+#    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/>.
+#
+### 6. (un)select atom by order
+
+AT_SETUP([Selection - atom with specific order])
+AT_KEYWORDS([selection order atom select-atom-by-order])
+# go through all possible orders (0-7) and removed
+i=1
+while test $i -le 8; do
+  let id=$i-1
+  file=id${id}_missing.xyz
+  # normal
+  AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/pre/test.xyz $file])
+  AT_CHECK([chmod u+w $file], 0)
+  AT_CHECK([../../molecuilder --dry-run -i $file -v 3 --select-atom-by-order ${i} -r --no-dry-run --store-session session-selection-select-atom-by-order.py --session-type python], 0[], [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-selection-select-atom-by-order.py >session-selection-select-atom-by-order_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-selection-select-atom-by-order_new.py], [], [ignore], [ignore])
+  AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/post/id${id}_missing.xyz])
+  ((i+=1))
+done
+# go through all possible orders (0-7) and removed
+i=1
+while test $i -le 8; do
+  let id=8-$i
+  file=id${id}_missing.xyz
+  # normal
+  AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/pre/test.xyz $file])
+  AT_CHECK([chmod u+w $file], 0)
+  AT_CHECK([../../molecuilder --dry-run -i $file -v 3 --select-atom-by-order -${i} -r --no-dry-run --store-session session-selection-select-atom-by-order.py --session-type python], 0[], [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-selection-select-atom-by-order.py >session-selection-select-atom-by-order_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-selection-select-atom-by-order_new.py], [], [ignore], [ignore])
+  AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/post/id${id}_missing.xyz])
+  ((i+=1))
+done
+AT_CLEANUP
+
+
+AT_SETUP([Selection - atom with specific order with Undo])
+AT_KEYWORDS([selection order atom select-atom-by-order undo])
+# go through all possible ids (0-7) and removed
+i=1
+while test $i -le 8; do
+  let id=$i-1
+  file=id${id}_missing.xyz
+  # undo
+  AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/pre/test.xyz $file])
+  AT_CHECK([chmod u+w $file], 0)
+  AT_CHECK([../../molecuilder --dry-run -i $file -v 3 --select-atom-by-order ${i} --undo -r --no-dry-run --store-session session-selection-select-atom-by-order.py --session-type python], 0[], [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-selection-select-atom-by-order.py >session-selection-select-atom-by-order_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-selection-select-atom-by-order_new.py], [], [ignore], [ignore])
+  AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/post/test-undo.xyz])
+  ((i+=1))
+done
+# go reverse through all possible ids (0-7) and removed
+i=1
+while test $i -le 8; do
+  let id=8-$i
+  file=id${id}_missing.xyz
+  # undo
+  AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/pre/test.xyz $file])
+  AT_CHECK([chmod u+w $file], 0)
+  AT_CHECK([../../molecuilder --dry-run -i $file -v 3 --select-atom-by-order -${i} --undo -r --no-dry-run --store-session session-selection-select-atom-by-order.py --session-type python], 0[], [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-selection-select-atom-by-order.py >session-selection-select-atom-by-order_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-selection-select-atom-by-order_new.py], [], [ignore], [ignore])
+  AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/post/test-undo.xyz])
+  ((i+=1))
+done
+AT_CLEANUP
+
+
+AT_SETUP([Selection - atom with specific order with Redo])
+AT_KEYWORDS([selection order atom select-atom-by-order redo])
+# go through all possible ids (0-7) and removed
+i=1
+while test $i -le 8; do
+  let id=$i-1
+  file=id${id}_missing.xyz
+  # redo
+  AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/pre/test.xyz $file])
+  AT_CHECK([chmod u+w $file], 0)
+  AT_CHECK([../../molecuilder --dry-run -i $file -v 3 --select-atom-by-order ${i} --undo --redo -r --no-dry-run --store-session session-selection-select-atom-by-order.py --session-type python], 0[], [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-selection-select-atom-by-order.py >session-selection-select-atom-by-order_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-selection-select-atom-by-order_new.py], [], [ignore], [ignore])
+  AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/post/id${id}_missing.xyz])
+  ((i+=1))
+done
+# go reverse through all possible ids (0-7) and removed
+i=1
+while test $i -le 8; do
+  let id=8-$i
+  file=id${id}_missing.xyz
+  # redo
+  AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/pre/test.xyz $file])
+  AT_CHECK([chmod u+w $file], 0)
+  AT_CHECK([../../molecuilder --dry-run -i $file -v 3 --select-atom-by-order -${i} --undo --redo -r --no-dry-run --store-session session-selection-select-atom-by-order.py --session-type python], 0[], [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-selection-select-atom-by-order.py >session-selection-select-atom-by-order_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-selection-select-atom-by-order_new.py], [], [ignore], [ignore])
+  AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/post/id${id}_missing.xyz])
+  ((i+=1))
+done
+AT_CLEANUP
Index: tests/GuiChecks/Selection/Atoms/AtomByOrder/testsuite-selection-unselect-atom-by-order.at
===================================================================
--- tests/GuiChecks/Selection/Atoms/AtomByOrder/testsuite-selection-unselect-atom-by-order.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
+++ tests/GuiChecks/Selection/Atoms/AtomByOrder/testsuite-selection-unselect-atom-by-order.at	(revision dd6c07d2c5d563c8e46c0a4b01a0de11563eb584)
@@ -0,0 +1,117 @@
+#
+#    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/>.
+#
+### 6. (un)select atom by order
+
+
+AT_SETUP([Unselection - atom with specific order])
+AT_KEYWORDS([unselection order atom unselect-atom-by-order])
+# go through all possible orders (0-7) and remove others
+i=1
+while test $i -le 8; do
+  let id=$i-1
+  file=order${id}_present.xyz
+  # normal
+  AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/pre/test.xyz $file])
+  AT_CHECK([chmod u+w $file], 0)
+  AT_CHECK([../../molecuilder --dry-run -i $file -v 3 --select-all-atoms --unselect-atom-by-order ${i} -r --no-dry-run --store-session session-selection-unselect-atom-by-order.py --session-type python], 0[], [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-selection-unselect-atom-by-order.py >session-selection-unselect-atom-by-order_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-selection-unselect-atom-by-order_new.py], [], [ignore], [ignore])
+  AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/post/id${id}_present.xyz])
+  ((i+=1))
+done
+# go reverse through all possible orders (0-7) and remove others
+i=1
+while test $i -le 8; do
+  let id=8-$i
+  file=order${id}_present.xyz
+  # normal
+  AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/pre/test.xyz $file])
+  AT_CHECK([chmod u+w $file], 0)
+  AT_CHECK([../../molecuilder --dry-run -i $file -v 3 --select-all-atoms --unselect-atom-by-order -${i} -r --no-dry-run --store-session session-selection-unselect-atom-by-order.py --session-type python], 0[], [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-selection-unselect-atom-by-order.py >session-selection-unselect-atom-by-order_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-selection-unselect-atom-by-order_new.py], [], [ignore], [ignore])
+  AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/post/id${id}_present.xyz])
+  ((i+=1))
+done
+AT_CLEANUP
+
+
+AT_SETUP([Unselection - atom with specific order with Undo])
+AT_KEYWORDS([unselection order atom unselect-atom-by-order undo])
+# go through all possible orders (0-7) and remove others
+i=1
+while test $i -le 8; do
+  let id=$i-1
+  file=order${id}_present.xyz
+  # undo
+  AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/pre/test.xyz $file])
+  AT_CHECK([chmod u+w $file], 0)
+  AT_CHECK([../../molecuilder --dry-run -i $file -v 3 --select-all-atoms --unselect-atom-by-order ${i} --undo -r --no-dry-run --store-session session-selection-unselect-atom-by-order.py --session-type python], 0[], [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-selection-unselect-atom-by-order.py >session-selection-unselect-atom-by-order_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-selection-unselect-atom-by-order_new.py], [], [ignore], [ignore])
+  AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/post/empty.xyz])
+  ((i+=1))
+done
+# go reverse through all possible orders (0-7) and remove others
+i=1
+while test $i -le 8; do
+  let id=8-$i
+  file=order${id}_present.xyz
+  # undo
+  AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/pre/test.xyz $file])
+  AT_CHECK([chmod u+w $file], 0)
+  AT_CHECK([../../molecuilder --dry-run -i $file -v 3 --select-all-atoms --unselect-atom-by-order -${i} --undo -r --no-dry-run --store-session session-selection-unselect-atom-by-order.py --session-type python], 0[], [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-selection-unselect-atom-by-order.py >session-selection-unselect-atom-by-order_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-selection-unselect-atom-by-order_new.py], [], [ignore], [ignore])
+  AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/post/empty.xyz])
+  ((i+=1))
+done
+AT_CLEANUP
+
+
+AT_SETUP([Unselection - atom with specific order with Redo])
+AT_KEYWORDS([unselection order atom unselect-atom-by-order redo])
+# go through all possible orders (0-7) and remove others
+i=1
+while test $i -le 8; do
+  let id=$i-1
+  file=order${id}_present.xyz
+  # redo
+  AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/pre/test.xyz $file])
+  AT_CHECK([chmod u+w $file], 0)
+  AT_CHECK([../../molecuilder --dry-run -i $file -v 3 --select-all-atoms --unselect-atom-by-order ${i} --undo --redo -r --no-dry-run --store-session session-selection-unselect-atom-by-order.py --session-type python], 0[], [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-selection-unselect-atom-by-order.py >session-selection-unselect-atom-by-order_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-selection-unselect-atom-by-order_new.py], [], [ignore], [ignore])
+  AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/post/id${id}_present.xyz])
+  ((i+=1))
+done
+# go reverse through all possible orders (0-7) and remove others
+i=1
+while test $i -le 8; do
+  let id=8-$i
+  file=order${id}_present.xyz
+  # redo
+  AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/pre/test.xyz $file])
+  AT_CHECK([chmod u+w $file], 0)
+  AT_CHECK([../../molecuilder --dry-run -i $file -v 3 --select-all-atoms --unselect-atom-by-order -${i} --undo --redo -r --no-dry-run --store-session session-selection-unselect-atom-by-order.py --session-type python], 0[], [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-selection-unselect-atom-by-order.py >session-selection-unselect-atom-by-order_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-selection-unselect-atom-by-order_new.py], [], [ignore], [ignore])
+  AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Selection/Atoms/AtomByOrder/post/id${id}_present.xyz])
+  ((i+=1))
+done
+AT_CLEANUP
