Index: tests/regression/Options/DryRun/post/session.py
===================================================================
--- tests/regression/Options/DryRun/post/session.py	(revision f3db6059ff3cc60a56408536bc8c419fc809da01)
+++ tests/regression/Options/DryRun/post/session.py	(revision f3db6059ff3cc60a56408536bc8c419fc809da01)
@@ -0,0 +1,9 @@
+import pyMoleCuilder
+# ========================== Stored Session BEGIN ==========================
+pyMoleCuilder.CommandDryRun()
+pyMoleCuilder.WorldInput("hydrogen.xyz")
+pyMoleCuilder.AtomAdd("1", "0,0,0")
+pyMoleCuilder.SelectionAllAtoms()
+pyMoleCuilder.AtomTranslate("0,0,0", "0")
+pyMoleCuilder.CommandNoDryRun()
+# =========================== Stored Session END ===========================
Index: tests/regression/Options/DryRun/testsuite-options-dryrun-storesession.at
===================================================================
--- tests/regression/Options/DryRun/testsuite-options-dryrun-storesession.at	(revision f3db6059ff3cc60a56408536bc8c419fc809da01)
+++ tests/regression/Options/DryRun/testsuite-options-dryrun-storesession.at	(revision f3db6059ff3cc60a56408536bc8c419fc809da01)
@@ -0,0 +1,29 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2015 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/>.
+#
+### dry run 
+
+AT_SETUP([Standard Options - dry run and store session])
+AT_KEYWORDS([options dry-run no-dry-run store-session])
+
+# sample session
+file="session.py"
+AT_CHECK([../../molecuilder --dry-run --input hydrogen.xyz --add-atom 1 --domain-position "0,0,0" --select-all-atoms --translate-atoms "5,5,5" --no-dry-run --store-session $file --session-type python], 0, [ignore], [ignore])
+AT_CHECK([test -f $file], 0, [ignore], [ignore])
+AT_CHECK([diff $file ${abs_top_srcdir}/tests/regression/Options/DryRun/post/$file], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/regression/Options/DryRun/testsuite-options-dryrun.at
===================================================================
--- tests/regression/Options/DryRun/testsuite-options-dryrun.at	(revision f3db6059ff3cc60a56408536bc8c419fc809da01)
+++ tests/regression/Options/DryRun/testsuite-options-dryrun.at	(revision f3db6059ff3cc60a56408536bc8c419fc809da01)
@@ -0,0 +1,38 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2015 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/>.
+#
+### dry run
+
+AT_SETUP([Standard Options - dry run])
+AT_KEYWORDS([options dry-run])
+
+# simple call
+AT_CHECK([../../molecuilder --dry-run], 0, [ignore], [ignore])
+
+# add an atom prior to dry-run
+AT_CHECK([../../molecuilder --add-atom 1 --domain-position "5,5,5" --dry-run], 0, [stdout], [ignore])
+AT_CHECK([grep "Adding new atom" stdout], 0, [ignore], [ignore])
+
+# add an atom after  to dry-run
+AT_CHECK([../../molecuilder --dry-run --add-atom 1 --domain-position "5,5,5"], 0, [stdout], [ignore])
+AT_CHECK([grep "Adding new atom" stdout], 1, [ignore], [ignore])
+
+# input file with added atom
+AT_CHECK([../../molecuilder --dry-run --input hydrogen.xyz --add-atom 1 --domain-position "5,5,5"], 0, [ignore], [ignore])
+AT_CHECK([test -f hydrogen.xyz], 1, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/regression/Options/DryRun/testsuite-options-no-dryrun.at
===================================================================
--- tests/regression/Options/DryRun/testsuite-options-no-dryrun.at	(revision f3db6059ff3cc60a56408536bc8c419fc809da01)
+++ tests/regression/Options/DryRun/testsuite-options-no-dryrun.at	(revision f3db6059ff3cc60a56408536bc8c419fc809da01)
@@ -0,0 +1,41 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2015 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/>.
+#
+### dry run and no dry run
+
+AT_SETUP([Standard Options - dry run and no dry run])
+AT_KEYWORDS([options dry-run no-dry-run])
+
+# simple call
+AT_CHECK([../../molecuilder --dry-run --no-dry-run], 0, [stdout], [ignore])
+AT_CHECK([grep "Performing dry run" stdout], 0, [ignore], [ignore])
+AT_CHECK([grep "Performing no more dry run" stdout], 0, [ignore], [ignore])
+
+# adding atom inside dry-run
+AT_CHECK([../../molecuilder --dry-run --add-atom 1 --domain-position "5,5,5" --no-dry-run], 0, [stdout], [ignore])
+AT_CHECK([grep "Adding new atom" stdout], 1, [ignore], [ignore])
+
+# adding atom outside dry-run
+AT_CHECK([../../molecuilder --dry-run --no-dry-run --add-atom 1 --domain-position "5,5,5"], 0, [stdout], [ignore])
+AT_CHECK([grep "Adding new atom" stdout], 0, [ignore], [ignore])
+
+# input file with added atom and dry-run translation
+AT_CHECK([../../molecuilder --input hydrogen.xyz --set-output xyz --add-atom 1 --domain-position "0,0,0" --dry-run --select-all-atoms --translate-atoms "5,5,5" --no-dry-run], 0, [ignore], [ignore])
+AT_CHECK([test -f hydrogen.xyz],0, [ignore], [ignore])
+AT_CHECK([grep "H.*5.*5.*5" hydrogen.xyz], 1, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/regression/Options/testsuite-options.at
===================================================================
--- tests/regression/Options/testsuite-options.at	(revision 22ac22aca3c37906d62a9c98e92163e0784a003b)
+++ tests/regression/Options/testsuite-options.at	(revision f3db6059ff3cc60a56408536bc8c419fc809da01)
@@ -53,2 +53,7 @@
 m4_include([Options/Session/testsuite-options-store-session-python.at])
 m4_include([Options/Session/testsuite-options-load-session-python.at])
+
+# test dry run
+m4_include([Options/DryRun/testsuite-options-dryrun.at])
+m4_include([Options/DryRun/testsuite-options-no-dryrun.at])
+m4_include([Options/DryRun/testsuite-options-dryrun-storesession.at])
