diff --git a/alib2data/test-src/graph/GraphTest.cpp b/alib2data/test-src/graph/GraphTest.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..8eb68fe0fa669f7d05d845b1888b348dd003a029
--- /dev/null
+++ b/alib2data/test-src/graph/GraphTest.cpp
@@ -0,0 +1,69 @@
+#include "GraphTest.h"
+
+#include "sax/SaxParseInterface.h"
+#include "sax/SaxComposeInterface.h"
+
+#include "graph/directed/DirectedGraph.h"
+#include "graph/undirected/UndirectedGraph.h"
+
+#include "factory/XmlDataFactory.hpp"
+#include "factory/StringDataFactory.hpp"
+
+CPPUNIT_TEST_SUITE_REGISTRATION(GraphTest);
+
+void GraphTest::setUp()
+{
+}
+
+void GraphTest::tearDown()
+{
+}
+
+void GraphTest::testCopyConstruct()
+{
+	// Common
+	graph::Node n1("n1");
+	graph::Node n2("n2");
+	graph::Node n3("n3");
+
+	// Directed
+	graph::DirectedGraph dg(graph::REPRESENTATION::ADJACENCY_LIST);
+	dg.addNode(n1);
+	dg.addNode(n2);
+	dg.addNode(n3);
+	dg.addEdge(graph::DirectedEdge(n1, n2));
+	dg.addEdge(graph::DirectedEdge(n1, n3));
+
+	graph::DirectedGraph dg2(dg);
+	CPPUNIT_ASSERT(dg == dg2);
+
+	graph::DirectedGraph dg3(std::move(dg));
+	CPPUNIT_ASSERT(dg2 == dg3);
+
+	// Undirected
+	graph::UndirectedGraph ug(graph::REPRESENTATION::ADJACENCY_LIST);
+	ug.addNode(n1);
+	ug.addNode(n2);
+	ug.addNode(n3);
+	ug.addEdge(graph::UndirectedEdge(n1, n2));
+	ug.addEdge(graph::UndirectedEdge(n1, n3));
+
+	graph::UndirectedGraph ug2(ug);
+	CPPUNIT_ASSERT(ug == ug2);
+
+	graph::UndirectedGraph ug3(std::move(ug));
+	CPPUNIT_ASSERT(ug2 == ug3);
+}
+
+void GraphTest::testEqual()
+{
+}
+
+void GraphTest::testXMLParser()
+{
+}
+
+void GraphTest::testStringParser()
+{
+}
+
diff --git a/alib2data/test-src/graph/GraphTest.h b/alib2data/test-src/graph/GraphTest.h
new file mode 100644
index 0000000000000000000000000000000000000000..522756916996bb5f4bda00edaee7c573f077ea39
--- /dev/null
+++ b/alib2data/test-src/graph/GraphTest.h
@@ -0,0 +1,25 @@
+#ifndef GRAPH_TEST_H_
+#define GRAPH_TEST_H_
+
+#include <cppunit/extensions/HelperMacros.h>
+
+class GraphTest : public CppUnit::TestFixture
+{
+	CPPUNIT_TEST_SUITE(GraphTest);
+	CPPUNIT_TEST(testCopyConstruct);
+	CPPUNIT_TEST(testEqual);
+	CPPUNIT_TEST(testXMLParser);
+	CPPUNIT_TEST(testStringParser);
+	CPPUNIT_TEST_SUITE_END();
+
+public:
+	void setUp();
+	void tearDown();
+
+	void testCopyConstruct();
+	void testEqual();
+	void testXMLParser();
+	void testStringParser();
+};
+
+#endif	// GRAPH_TEST_H_