Index: src/Graph/Graph6Reader.hpp
===================================================================
--- src/Graph/Graph6Reader.hpp	(revision d661b233eabb84cd1c946c51affe3a71dd12e575)
+++ src/Graph/Graph6Reader.hpp	(revision c52abdb807aa5a49e352a743ca8a5c7e20cd9f90)
@@ -20,4 +20,6 @@
 #include <vector>
 
+class Graph6ReaderUnitTest;
+
 /** This functor parses graph6 formatted strings and returns number of nodes
  * and a edge list.
@@ -31,4 +33,7 @@
 struct Graph6Reader
 {
+  //!> grant unit test access to private parts
+  friend class Graph6ReaderUnitTest;
+
   typedef std::pair<int, int> edge_t;
   typedef std::vector< edge_t > edges_t;
Index: src/Graph/unittests/Graph6ReaderUnitTest.cpp
===================================================================
--- src/Graph/unittests/Graph6ReaderUnitTest.cpp	(revision c52abdb807aa5a49e352a743ca8a5c7e20cd9f90)
+++ src/Graph/unittests/Graph6ReaderUnitTest.cpp	(revision c52abdb807aa5a49e352a743ca8a5c7e20cd9f90)
@@ -0,0 +1,84 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2010-2012 University of Bonn. All rights reserved.
+ * Copyright (C)  2013 Frederik Heber. All rights reserved.
+ * 
+ *
+ *   This file is part of MoleCuilder.
+ *
+ *    MoleCuilder 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 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    MoleCuilder 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 MoleCuilder.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * Graph6ReaderUnitTest.cpp
+ *
+ *  Created on: Oct 17, 2011
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "Graph6ReaderUnitTest.hpp"
+
+#include <iterator>
+#include <sstream>
+
+#include "CodePatterns/Assert.hpp"
+
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+#ifdef HAVE_TESTRUNNER
+#include "UnitTestMain.hpp"
+#endif /*HAVE_TESTRUNNER*/
+
+/********************************************** Test classes **************************************/
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION( Graph6ReaderTest );
+
+const std::string graph6file ="B`";
+
+
+// set up and tear down
+void Graph6ReaderTest::setUp()
+{
+  // failing asserts should be thrown
+  ASSERT_DO(Assert::Throw);
+
+}
+
+void Graph6ReaderTest::tearDown()
+{
+}
+
+/** Unit tests for Graph6Reader::operator().
+ *
+ */
+void Graph6ReaderTest::operatorTest()
+{
+  // parse in graph6 string
+  std::stringstream input(graph6file);
+  reader(input);
+
+  // compare nodes
+  CPPUNIT_ASSERT_EQUAL( reader.get_num_nodes(), (int)2);
+
+  // compare edges
+  CPPUNIT_ASSERT_EQUAL( reader.get_edges().size(), (size_t)1);
+}
Index: src/Graph/unittests/Graph6ReaderUnitTest.hpp
===================================================================
--- src/Graph/unittests/Graph6ReaderUnitTest.hpp	(revision c52abdb807aa5a49e352a743ca8a5c7e20cd9f90)
+++ src/Graph/unittests/Graph6ReaderUnitTest.hpp	(revision c52abdb807aa5a49e352a743ca8a5c7e20cd9f90)
@@ -0,0 +1,38 @@
+/*
+ * Graph6ReaderUnitTest.hpp
+ *
+ *  Created on: Oct 17, 2011
+ *      Author: heber
+ */
+
+#ifndef GRAPH6READERUNITTEST_HPP_
+#define GRAPH6READERUNITTEST_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include <cppunit/extensions/HelperMacros.h>
+
+#include "Graph/Graph6Reader.hpp"
+
+
+class Graph6ReaderTest : public CppUnit::TestFixture
+{
+  CPPUNIT_TEST_SUITE( Graph6ReaderTest );
+  CPPUNIT_TEST ( operatorTest );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  void setUp();
+  void tearDown();
+
+  void operatorTest();
+
+private:
+  Graph6Reader reader;
+};
+
+#endif /* GRAPH6READERUNITTEST_HPP_ */
Index: src/Graph/unittests/Makefile.am
===================================================================
--- src/Graph/unittests/Makefile.am	(revision d661b233eabb84cd1c946c51affe3a71dd12e575)
+++ src/Graph/unittests/Makefile.am	(revision c52abdb807aa5a49e352a743ca8a5c7e20cd9f90)
@@ -6,5 +6,6 @@
 	../Graph/unittests/BondGraphUnitTest.cpp \
 	../Graph/unittests/BoostGraphCreatorUnitTest.cpp \
-	../Graph/unittests/BreadthFirstSearchGathererUnitTest.cpp
+	../Graph/unittests/BreadthFirstSearchGathererUnitTest.cpp \
+	../Graph/unittests/Graph6ReaderUnitTest.cpp
 
 GRAPHTESTSHEADERS = \
@@ -12,5 +13,6 @@
 	../Graph/unittests/BondGraphUnitTest.hpp \
 	../Graph/unittests/BoostGraphCreatorUnitTest.hpp \
-	../Graph/unittests/BreadthFirstSearchGathererUnitTest.hpp
+	../Graph/unittests/BreadthFirstSearchGathererUnitTest.hpp \
+	../Graph/unittests/Graph6ReaderUnitTest.hpp
 
 GRAPHTESTS = \
@@ -18,5 +20,6 @@
 	BondGraphUnitTest \
 	BoostGraphCreatorUnitTest \
-	BreadthFirstSearchGathererUnitTest
+	BreadthFirstSearchGathererUnitTest \
+  Graph6ReaderUnitTest
 
 TESTS += $(GRAPHTESTS)
@@ -60,4 +63,8 @@
 BreadthFirstSearchGathererUnitTest_LDADD = ${GRAPHLIBS}
 
+Graph6ReaderUnitTest_SOURCES = \
+	../Graph/unittests/Graph6ReaderUnitTest.cpp \
+	../Graph/unittests/Graph6ReaderUnitTest.hpp
+Graph6ReaderUnitTest_LDADD = ${GRAPHLIBS}
 
 #AUTOMAKE_OPTIONS = parallel-tests
