Index: tests/GuiChecks/Fragmentation/AnalyseFragmentationResults/testsuite-fragmentation-analyse-fragment-results.at
===================================================================
--- tests/GuiChecks/Fragmentation/AnalyseFragmentationResults/testsuite-fragmentation-analyse-fragment-results.at	(revision 835b534f9c100ac279ff0fbe104d05901bbc813f)
+++ tests/GuiChecks/Fragmentation/AnalyseFragmentationResults/testsuite-fragmentation-analyse-fragment-results.at	(revision d50b9151219b75020931486afa73b2b92312849b)
@@ -20,13 +20,13 @@
 #
 # BondFragmentShortRangeResults.dat is created like this:
-# ./molecuilder -i pre/alkane-3.pdb --change-box 20,0,20,0,0,20 --set-parser-parameters mpqc --parser-parameters "theory=CLHF;basis=6-31G;" --set-boundary-conditions Ignore Ignore Ignore --update-molecules --select-all-atoms --fragment-molecule BondFragment --DoSaturate 1 --ExcludeHydrogen 1 --distance 2. --order 6 --fragment-automation --DoLongrange 0 --server-address 127.0.0.1 --server-port 1026 --fragment-resultfile BondFragmentShortRangeResults.dat
+# ./molecuilder -i pre/alkane-3.pdb --change-box 20,0,20,0,0,20 --set-parser-parameters mpqc --parser-parameters "theory=CLHF;basis=6-31G;" --set-boundary-conditions Ignore Ignore Ignore --update-molecules --select-all-atoms --fragment-molecule BondFragment --DoSaturate 1 --ExcludeHydrogen 1 --distance 2. --order 6 --fragment-automation --DoLongrange 0 --server-address 127.0.0.1 --server-port 1026 --save-fragment-results BondFragmentShortRangeResults.dat
 
 AT_SETUP([Fragmentation - Analyse short-range fragmentation results])
-AT_KEYWORDS([fragmentation analyse-fragment-results])
+AT_KEYWORDS([fragmentation parse-fragment-results analyse-fragment-results])
 
 file=BondFragmentShortRangeResults.dat
 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/$file $file], 0)
 AT_CHECK([chmod u+w $file], 0, [ignore], [ignore])
-AT_CHECK([../../molecuilder --dry-run --analyse-fragment-results --fragment-resultfile $file --no-dry-run --store-session session-fragmentation-analyse-fragment-results.py --session-type python], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilder --dry-run --parse-fragment-results $file --analyse-fragment-results --no-dry-run --store-session session-fragmentation-analyse-fragment-results.py --session-type python], 0, [ignore], [ignore])
 AT_CHECK([grep -v "Command.*DryRun" session-fragmentation-analyse-fragment-results.py >session-fragmentation-analyse-fragment-results_new.py], 0, [ignore], [ignore])
 AT_CHECK([../../molecuilderguitest session-fragmentation-analyse-fragment-results_new.py], 0, [ignore], [ignore])
@@ -41,10 +41,10 @@
 
 AT_SETUP([Fragmentation - Analyse short-range fragmentation results with forces])
-AT_KEYWORDS([fragmentation analyse-fragment-results forces])
+AT_KEYWORDS([fragmentation parse-fragment-results analyse-fragment-results forces])
 
 file=BondFragmentShortRangeResults.dat
 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/$file $file], 0)
 AT_CHECK([chmod u+w $file], 0, [ignore], [ignore])
-AT_CHECK([../../molecuilder --dry-run -i ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/alkane-3.pdb -o tremolo --set-tremolo-atomdata "Id type x=3 u=3 F=3" --reset 1 --analyse-fragment-results --fragment-resultfile $file --no-dry-run --store-session session-fragmentation-analyse-fragment-results.py --session-type python], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilder --dry-run -i ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/alkane-3.pdb -o tremolo --set-tremolo-atomdata "Id type x=3 u=3 F=3" --reset 1 --parse-fragment-results $file --analyse-fragment-results --no-dry-run --store-session session-fragmentation-analyse-fragment-results.py --session-type python], 0, [ignore], [ignore])
 AT_CHECK([grep -v "Command.*DryRun" session-fragmentation-analyse-fragment-results.py >session-fragmentation-analyse-fragment-results_new.py], 0, [ignore], [ignore])
 AT_CHECK([../../molecuilderguitest session-fragmentation-analyse-fragment-results_new.py], 0, [ignore], [ignore])
@@ -55,13 +55,13 @@
 #
 # BondFragmentLongRangeResults.dat is created like this:
-# ./molecuilder -i pre/alkane-3.pdb --change-box 20,0,20,0,0,20 --set-parser-parameters mpqc --parser-parameters "theory=CLHF;basis=6-31G;" --set-boundary-conditions Ignore Ignore Ignore --update-molecules --select-all-atoms --fragment-molecule BondFragment --DoSaturate 1 --ExcludeHydrogen 1 --distance 2. --order 6 --fragment-automation --DoLongrange 1 --DoValenceOnly 0 --grid-level 4 --near-field-cells 3 --server-address 127.0.0.1 --server-port 1026 --fragment-resultfile BondFragmentLongRangeResults.dat
+# ./molecuilder -i pre/alkane-3.pdb --change-box 20,0,20,0,0,20 --set-parser-parameters mpqc --parser-parameters "theory=CLHF;basis=6-31G;" --set-boundary-conditions Ignore Ignore Ignore --update-molecules --select-all-atoms --fragment-molecule BondFragment --DoSaturate 1 --ExcludeHydrogen 1 --distance 2. --order 6 --fragment-automation --DoLongrange 1 --DoValenceOnly 0 --grid-level 4 --near-field-cells 3 --server-address 127.0.0.1 --server-port 1026 --save-fragment-results BondFragmentLongRangeResults_OBC.dat
 
 AT_SETUP([Fragmentation - Analyse long-range fragmentation results with OBC])
-AT_KEYWORDS([fragmentation analyse-fragment-results])
+AT_KEYWORDS([fragmentation parse-fragment-results analyse-fragment-results])
 
 file=BondFragmentLongRangeResults_OBC.dat
 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/$file $file], 0)
 AT_CHECK([chmod u+w $file], 0, [ignore], [ignore])
-AT_CHECK([../../molecuilder --dry-run -i ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/alkane-3.pdb -o tremolo --set-tremolo-atomdata "Id type x=3 u=3 F=3" --reset 1 --analyse-fragment-results --fragment-resultfile $file --no-dry-run --store-session session-fragmentation-analyse-fragment-results.py --session-type python], 0, [ignore], [stderr])
+AT_CHECK([../../molecuilder --dry-run -i ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/alkane-3.pdb -o tremolo --set-tremolo-atomdata "Id type x=3 u=3 F=3" --reset 1 --parse-fragment-results $file --analyse-fragment-results --no-dry-run --store-session session-fragmentation-analyse-fragment-results.py --session-type python], 0, [ignore], [stderr])
 AT_CHECK([grep -v "Command.*DryRun" session-fragmentation-analyse-fragment-results.py >session-fragmentation-analyse-fragment-results_new.py], 0, [ignore], [ignore])
 AT_CHECK([../../molecuilderguitest session-fragmentation-analyse-fragment-results_new.py], 0, [ignore], [stderr])
@@ -73,5 +73,5 @@
 AT_CHECK([output=BondFragment_Eigenhistogram.dat; diff $output ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/LongRange/OBC/$output], 0, [ignore], [ignore])
 AT_CHECK([output=BondFragment_IndexedEnergy.dat; diff $output ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/LongRange/OBC/$output], 0, [ignore], [ignore])
-AT_CHECK([grep "File contains long-range information but long-range analysis capability not compiled in" stderr], 0, [ignore], [ignore], [
+AT_CHECK([grep "long-range analysis capability not compiled in" stderr], 0, [ignore], [ignore], [
 	AT_CHECK([output=BondFragment_LongRangeEnergy.dat; diff $output ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/LongRange/OBC/$output], 0, [ignore], [ignore])
 	])
@@ -80,13 +80,13 @@
 
 AT_SETUP([Fragmentation - Analyse long-range fragmentation results with OBC and forces])
-AT_KEYWORDS([fragmentation analyse-fragment-results forces longrange])
+AT_KEYWORDS([fragmentation parse-fragment-results analyse-fragment-results forces longrange])
 
 file=BondFragmentLongRangeResults_OBC.dat
 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/$file $file], 0)
 AT_CHECK([chmod u+w $file], 0, [ignore], [ignore])
-AT_CHECK([../../molecuilder --dry-run -i ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/alkane-3.pdb -o tremolo --set-tremolo-atomdata "Id type x=3 u=3 F=3" --reset 1 --analyse-fragment-results --fragment-resultfile $file --no-dry-run --store-session session-fragmentation-analyse-fragment-results.py --session-type python], 0, [ignore], [stderr])
+AT_CHECK([../../molecuilder --dry-run -i ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/alkane-3.pdb -o tremolo --set-tremolo-atomdata "Id type x=3 u=3 F=3" --reset 1 --parse-fragment-results $file --analyse-fragment-results --no-dry-run --store-session session-fragmentation-analyse-fragment-results.py --session-type python], 0, [ignore], [stderr])
 AT_CHECK([grep -v "Command.*DryRun" session-fragmentation-analyse-fragment-results.py >session-fragmentation-analyse-fragment-results_new.py], 0, [ignore], [ignore])
 AT_CHECK([../../molecuilderguitest session-fragmentation-analyse-fragment-results_new.py], 0, [ignore], [stderr])
-AT_CHECK([grep "File contains long-range information but long-range analysis capability not compiled in" stderr], 0, [ignore], [ignore], [
+AT_CHECK([grep "long-range analysis capability not compiled in" stderr], 0, [ignore], [ignore], [
 	AT_CHECK([diff alkane-3.data ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/LongRange/OBC/alkane-3.data], 0, [ignore], [ignore])
 	])
@@ -96,13 +96,13 @@
 #
 # BondFragmentLongRangeResults.dat is created like this:
-# ./molecuilder -i pre/alkane-3.pdb --change-box 20,0,20,0,0,20 --set-parser-parameters mpqc --parser-parameters "theory=CLHF;basis=6-31G;" --set-boundary-conditions Wrap Wrap Wrap --update-molecules --select-all-atoms --fragment-molecule BondFragment --DoSaturate 1 --ExcludeHydrogen 1 --distance 2. --order 6 --fragment-automation --DoLongrange 1 --DoValenceOnly 0 --grid-level 4 --near-field-cells 3 --server-address 127.0.0.1 --server-port 1026 --fragment-resultfile BondFragmentLongRangeResults.dat
+# ./molecuilder -i pre/alkane-3.pdb --change-box 20,0,20,0,0,20 --set-parser-parameters mpqc --parser-parameters "theory=CLHF;basis=6-31G;" --set-boundary-conditions Wrap Wrap Wrap --update-molecules --select-all-atoms --fragment-molecule BondFragment --DoSaturate 1 --ExcludeHydrogen 1 --distance 2. --order 6 --fragment-automation --DoLongrange 1 --DoValenceOnly 0 --grid-level 4 --near-field-cells 3 --server-address 127.0.0.1 --server-port 1026 --save-fragment-results BondFragmentLongRangeResults_PBC.dat
 
 AT_SETUP([Fragmentation - Analyse long-range fragmentation results with PBC])
-AT_KEYWORDS([fragmentation analyse-fragment-results])
+AT_KEYWORDS([fragmentation parse-fragment-results analyse-fragment-results])
 
 file=BondFragmentLongRangeResults_PBC.dat
 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/$file $file], 0)
 AT_CHECK([chmod u+w $file], 0, [ignore], [ignore])
-AT_CHECK([../../molecuilder --dry-run -i ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/alkane-3.pdb -o tremolo --set-tremolo-atomdata "Id type x=3 u=3 F=3" --reset 1 --analyse-fragment-results --fragment-resultfile $file --no-dry-run --store-session session-fragmentation-analyse-fragment-results.py --session-type python], 0, [ignore], [stderr])
+AT_CHECK([../../molecuilder --dry-run -i ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/alkane-3.pdb -o tremolo --set-tremolo-atomdata "Id type x=3 u=3 F=3" --reset 1 --parse-fragment-results $file --analyse-fragment-results --no-dry-run --store-session session-fragmentation-analyse-fragment-results.py --session-type python], 0, [ignore], [stderr])
 AT_CHECK([grep -v "Command.*DryRun" session-fragmentation-analyse-fragment-results.py >session-fragmentation-analyse-fragment-results_new.py], 0, [ignore], [ignore])
 AT_CHECK([../../molecuilderguitest session-fragmentation-analyse-fragment-results_new.py], 0, [ignore], [stderr])
@@ -114,5 +114,5 @@
 AT_CHECK([output=BondFragment_Eigenhistogram.dat; diff $output ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/LongRange/PBC/$output], 0, [ignore], [ignore])
 AT_CHECK([output=BondFragment_IndexedEnergy.dat; diff $output ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/LongRange/PBC/$output], 0, [ignore], [ignore])
-AT_CHECK([grep "File contains long-range information but long-range analysis capability not compiled in" stderr], 0, [ignore], [ignore], [
+AT_CHECK([grep "long-range analysis capability not compiled in" stderr], 0, [ignore], [ignore], [
 	AT_CHECK([output=BondFragment_LongRangeEnergy.dat; diff $output ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/LongRange/PBC/$output], 0, [ignore], [ignore])
 	])
@@ -121,13 +121,13 @@
 
 AT_SETUP([Fragmentation - Analyse long-range fragmentation results with PBC and forces])
-AT_KEYWORDS([fragmentation analyse-fragment-results forces longrange])
+AT_KEYWORDS([fragmentation parse-fragment-results analyse-fragment-results forces longrange])
 
 file=BondFragmentLongRangeResults_PBC.dat
 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/$file $file], 0)
 AT_CHECK([chmod u+w $file], 0, [ignore], [ignore])
-AT_CHECK([../../molecuilder --dry-run -i ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/alkane-3.pdb -o tremolo --set-tremolo-atomdata "Id type x=3 u=3 F=3" --reset 1 --analyse-fragment-results --fragment-resultfile $file --no-dry-run --store-session session-fragmentation-analyse-fragment-results.py --session-type python], 0, [ignore], [stderr])
+AT_CHECK([../../molecuilder --dry-run -i ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/pre/alkane-3.pdb -o tremolo --set-tremolo-atomdata "Id type x=3 u=3 F=3" --reset 1 --parse-fragment-results $file --analyse-fragment-results --no-dry-run --store-session session-fragmentation-analyse-fragment-results.py --session-type python], 0, [ignore], [stderr])
 AT_CHECK([grep -v "Command.*DryRun" session-fragmentation-analyse-fragment-results.py >session-fragmentation-analyse-fragment-results_new.py], 0, [ignore], [ignore])
 AT_CHECK([../../molecuilderguitest session-fragmentation-analyse-fragment-results_new.py], 0, [ignore], [stderr])
-AT_CHECK([grep "File contains long-range information but long-range analysis capability not compiled in" stderr], 0, [ignore], [ignore], [
+AT_CHECK([grep "long-range analysis capability not compiled in" stderr], 0, [ignore], [ignore], [
 	AT_CHECK([diff alkane-3.data ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/LongRange/PBC/alkane-3.data], 0, [ignore], [ignore])
 	])
Index: tests/GuiChecks/Fragmentation/ParseSaveFragmentResults/testsuite-fragmentation-parse-save-fragment-results.at
===================================================================
--- tests/GuiChecks/Fragmentation/ParseSaveFragmentResults/testsuite-fragmentation-parse-save-fragment-results.at	(revision d50b9151219b75020931486afa73b2b92312849b)
+++ tests/GuiChecks/Fragmentation/ParseSaveFragmentResults/testsuite-fragmentation-parse-save-fragment-results.at	(revision d50b9151219b75020931486afa73b2b92312849b)
@@ -0,0 +1,93 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2016 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/>.
+#
+### parse and save state of FragmentationResultsContainer
+
+AT_SETUP([Fragmentation - parse and save fragment results])
+AT_KEYWORDS([fragmentation parse-fragment-results save-fragment-results])
+# results.dat is taken from Fragmentation/AnalyseFragmentationResults/pre/BondFragmentShortRangeResults.dat
+
+file=results_new.dat
+newfile=results_new2.dat
+
+# fails because file is missing
+AT_CHECK([../../molecuilder --dry-run --parse-fragment-results $file --save-fragment-results $file --no-dry-run --store-session session-fragmentation-parse-save-fragment-results.py --session-type python], 0, [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-fragmentation-parse-save-fragment-results.py >session-fragmentation-parse-save-fragment-results_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-fragmentation-parse-save-fragment-results_new.py], 5, [ignore], [ignore])
+
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/pre/results.dat results.dat], 0)
+AT_CHECK([../../molecuilder --dry-run --parse-fragment-results results.dat --save-fragment-results $file --no-dry-run --store-session session-fragmentation-parse-save-fragment-results.py --session-type python], 0, [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-fragmentation-parse-save-fragment-results.py >session-fragmentation-parse-save-fragment-results_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-fragmentation-parse-save-fragment-results_new.py], 0, [ignore], [ignore])
+# we ignore white space changes (also missing new line on end of last line)
+AT_CHECK([diff -Z $file ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/post/results_longrange_enabled.dat], 0, [ignore], [ignore], [
+	AT_CHECK([diff -Z $file ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/post/results_longrange_disabled.dat], 0, [ignore], [ignore], [
+		AT_CHECK([diff -Z $file ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/post/results_jobmarkt_disabled.dat], 0, [ignore], [ignore])
+	])
+])
+
+# fails because file is already present
+AT_CHECK([../../molecuilder --dry-run --parse-fragment-results $file --save-fragment-results $file --no-dry-run --store-session session-fragmentation-parse-save-fragment-results.py --session-type python], 0, [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-fragmentation-parse-save-fragment-results.py >session-fragmentation-parse-save-fragment-results_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-fragmentation-parse-save-fragment-results_new.py], 5, [ignore], [ignore])
+
+AT_CHECK([../../molecuilder --dry-run --parse-fragment-results $file --save-fragment-results $newfile --no-dry-run --store-session session-fragmentation-parse-save-fragment-results.py --session-type python], 0, [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-fragmentation-parse-save-fragment-results.py >session-fragmentation-parse-save-fragment-results_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-fragmentation-parse-save-fragment-results_new.py], 0, [ignore], [ignore])
+AT_CHECK([diff -Z $file ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/post/results_longrange_enabled.dat], 0, [ignore], [ignore], [
+	AT_CHECK([diff -Z $file ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/post/results_longrange_disabled.dat], 0, [ignore], [ignore], [
+		AT_CHECK([diff -Z $file ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/post/results_jobmarkt_disabled.dat], 0, [ignore], [ignore])
+	])
+])
+
+AT_CLEANUP
+
+AT_SETUP([Fragmentation - parse and save fragment results with Undo])
+AT_KEYWORDS([fragmentation parse-fragment-results save-fragment-results undo])
+
+emptyfile=results_empty.dat
+
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/pre/results.dat results.dat], 0)
+AT_CHECK([../../molecuilder --dry-run --parse-fragment-results results.dat --undo --save-fragment-results $emptyfile --no-dry-run --store-session session-fragmentation-parse-save-fragment-results.py --session-type python], 0, [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-fragmentation-parse-save-fragment-results.py >session-fragmentation-parse-save-fragment-results_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-fragmentation-parse-save-fragment-results_new.py], 0, [ignore], [ignore])
+# we ignore white space changes (also missing new line on end of last line)
+AT_CHECK([diff -Z $emptyfile ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/post/results_empty_longrange_enabled.dat], 0, [ignore], [ignore], [
+	AT_CHECK([diff -Z $emptyfile ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/post/results_empty_longrange_disabled.dat], 0, [ignore], [ignore], [
+		AT_CHECK([diff -Z $emptyfile ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/post/results_empty_jobmarkt_disabled.dat], 0, [ignore], [ignore])
+	])
+])
+
+AT_CLEANUP
+
+AT_SETUP([Fragmentation - parse and save fragment results with Redo])
+AT_KEYWORDS([fragmentation parse-fragment-results save-fragment-results undo redo])
+
+file=results_new.dat
+
+AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/pre/results.dat results.dat], 0)
+AT_CHECK([../../molecuilder --dry-run --parse-fragment-results results.dat --undo --redo --save-fragment-results $file --no-dry-run --store-session session-fragmentation-parse-save-fragment-results.py --session-type python], 0, [ignore], [ignore])
+AT_CHECK([grep -v "Command.*DryRun" session-fragmentation-parse-save-fragment-results.py >session-fragmentation-parse-save-fragment-results_new.py], 0, [ignore], [ignore])
+AT_CHECK([../../molecuilderguitest session-fragmentation-parse-save-fragment-results_new.py], 0, [ignore], [ignore])
+# we ignore white space changes (also missing new line on end of last line)
+AT_CHECK([diff -Z $file ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/post/results_longrange_enabled.dat], 0, [ignore], [ignore], [
+	AT_CHECK([diff -Z $file ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/post/results_longrange_disabled.dat], 0, [ignore], [ignore], [
+		AT_CHECK([diff -Z $file ${abs_top_srcdir}/tests/regression/Fragmentation/ParseSaveFragmentResults/post/results_jobmarkt_disabled.dat], 0, [ignore], [ignore])
+	])
+])
+
+AT_CLEANUP
Index: tests/GuiChecks/Fragmentation/testsuite-fragmentation.at
===================================================================
--- tests/GuiChecks/Fragmentation/testsuite-fragmentation.at	(revision 835b534f9c100ac279ff0fbe104d05901bbc813f)
+++ tests/GuiChecks/Fragmentation/testsuite-fragmentation.at	(revision d50b9151219b75020931486afa73b2b92312849b)
@@ -2,5 +2,5 @@
 #    MoleCuilder - creates and alters molecular systems
 #    Copyright (C) 2008-2012 University of Bonn
-#    Copyright (C) 2013 Frederik Heber
+#    Copyright (C) 2013-2016 Frederik Heber
 #
 #    This program is free software: you can redistribute it and/or modify
@@ -33,2 +33,5 @@
 # check automation
 m4_include([Fragmentation/FragmentationAutomation/testsuite-fragmentation-fragmentation-automation.at])
+
+# parse/save state of FragmentationResultsContainer
+m4_include([Fragmentation/ParseSaveFragmentResults/testsuite-fragmentation-parse-save-fragment-results.at])
