[Scummvm-cvs-logs] SF.net SVN: scummvm:[41843] tools/branches/gsoc2009-decompiler/decompiler

kjdf at users.sourceforge.net kjdf at users.sourceforge.net
Thu Jun 25 03:11:47 CEST 2009


Revision: 41843
          http://scummvm.svn.sourceforge.net/scummvm/?rev=41843&view=rev
Author:   kjdf
Date:     2009-06-25 01:11:47 +0000 (Thu, 25 Jun 2009)

Log Message:
-----------
decompiler: moved test data to separate file for interactive testing

Modified Paths:
--------------
    tools/branches/gsoc2009-decompiler/decompiler/Makefile

Added Paths:
-----------
    tools/branches/gsoc2009-decompiler/decompiler/test/data_graph.h
    tools/branches/gsoc2009-decompiler/decompiler/test/test_graph_internal.h

Removed Paths:
-------------
    tools/branches/gsoc2009-decompiler/decompiler/test/test_graph.h

Modified: tools/branches/gsoc2009-decompiler/decompiler/Makefile
===================================================================
--- tools/branches/gsoc2009-decompiler/decompiler/Makefile	2009-06-25 01:11:29 UTC (rev 41842)
+++ tools/branches/gsoc2009-decompiler/decompiler/Makefile	2009-06-25 01:11:47 UTC (rev 41843)
@@ -67,7 +67,7 @@
 	rm -f *.o $(TARGETS) test_runner*
 
 test:
-	cxxtest/cxxtestgen.pl --error-printer --abort-on-fail --have-eh -o test_runner.cpp test/test_graph.h
+	cxxtest/cxxtestgen.pl --error-printer --abort-on-fail --have-eh -o test_runner.cpp test/test_*.h
 	g++ -g $(DEFINES) $(INCLUDES)  -Icxxtest -o test_runner test_runner.cpp
 	./test_runner
 

Added: tools/branches/gsoc2009-decompiler/decompiler/test/data_graph.h
===================================================================
--- tools/branches/gsoc2009-decompiler/decompiler/test/data_graph.h	                        (rev 0)
+++ tools/branches/gsoc2009-decompiler/decompiler/test/data_graph.h	2009-06-25 01:11:47 UTC (rev 41843)
@@ -0,0 +1,96 @@
+#ifndef DATA_GRAPH_H
+#define DATA_GRAPH_H
+
+#include <boost/foreach.hpp>
+
+
+Graph<int>::Node *findNode(Graph<int> *g, int data) {
+	BOOST_FOREACH (Graph<int>::Node *u, g->_nodes)
+		if (u->_data == data)
+			return u;
+	return 0;
+}
+
+Graph<int> *makeGraph1() {
+	Graph<int> *g = new Graph<int>;
+	g->addNode(1);
+	g->addNode(2);
+	g->addNode(3);
+	g->addNode(4);
+	g->addNode(5);
+	g->addNode(6);
+	g->addEdge(findNode(g, 1), findNode(g, 2));
+	g->addEdge(findNode(g, 2), findNode(g, 3));
+	g->addEdge(findNode(g, 2), findNode(g, 5));
+	g->addEdge(findNode(g, 3), findNode(g, 4));
+	g->addEdge(findNode(g, 4), findNode(g, 2));
+	g->addEdge(findNode(g, 5), findNode(g, 1));
+	g->addEdge(findNode(g, 5), findNode(g, 6));
+	return g;
+}
+
+Graph<int> *makeGraph2() {
+	Graph<int> *g = new Graph<int>;
+	g->addNode(1);
+	g->addNode(2);
+	g->addNode(3);
+	g->addNode(4);
+	g->addNode(5);
+	g->addNode(6);
+	g->addNode(7);
+	g->addNode(8);
+	g->addNode(9);
+	g->addNode(10);
+	g->addNode(11);
+	g->addNode(12);
+	g->addNode(13);
+	g->addNode(14);
+	g->addNode(15);
+	g->addEdge(findNode(g, 1), findNode(g, 2));
+	g->addEdge(findNode(g, 1), findNode(g, 5));
+	g->addEdge(findNode(g, 2), findNode(g, 3));
+	g->addEdge(findNode(g, 2), findNode(g, 4));
+	g->addEdge(findNode(g, 3), findNode(g, 5));
+	g->addEdge(findNode(g, 4), findNode(g, 5));
+	g->addEdge(findNode(g, 5), findNode(g, 6));
+	g->addEdge(findNode(g, 6), findNode(g, 7));
+	g->addEdge(findNode(g, 6), findNode(g, 12));
+	g->addEdge(findNode(g, 7), findNode(g, 8));
+	g->addEdge(findNode(g, 7), findNode(g, 9));
+	g->addEdge(findNode(g, 8), findNode(g, 9));
+	g->addEdge(findNode(g, 8), findNode(g, 10));
+	g->addEdge(findNode(g, 9), findNode(g, 10));
+	g->addEdge(findNode(g, 10), findNode(g, 11));
+	g->addEdge(findNode(g, 12), findNode(g, 13));
+	g->addEdge(findNode(g, 13), findNode(g, 14));
+	g->addEdge(findNode(g, 14), findNode(g, 13));
+	g->addEdge(findNode(g, 14), findNode(g, 15));
+	g->addEdge(findNode(g, 15), findNode(g, 6));
+	return g;
+}
+
+Graph<int> *makeGraph3() {
+	Graph<int> *g = new Graph<int>;
+	g->addNode(1);
+	g->addNode(2);
+	g->addNode(3);
+	g->addEdge(findNode(g, 1), findNode(g, 2));
+	g->addEdge(findNode(g, 1), findNode(g, 3));
+	g->addEdge(findNode(g, 2), findNode(g, 3));
+	g->addEdge(findNode(g, 3), findNode(g, 2));
+	return g;
+}
+
+Graph<int> *makeGraph4() {
+	Graph<int> *g = new Graph<int>;
+	g->addNode(1);
+	g->addNode(2);
+	g->addNode(3);
+	g->addEdge(findNode(g, 1), findNode(g, 2));
+	g->addEdge(findNode(g, 2), findNode(g, 2));
+	g->addEdge(findNode(g, 2), findNode(g, 3));
+	g->addEdge(findNode(g, 3), findNode(g, 1));
+	return g;
+}
+
+#endif


Property changes on: tools/branches/gsoc2009-decompiler/decompiler/test/data_graph.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Deleted: tools/branches/gsoc2009-decompiler/decompiler/test/test_graph.h
===================================================================
--- tools/branches/gsoc2009-decompiler/decompiler/test/test_graph.h	2009-06-25 01:11:29 UTC (rev 41842)
+++ tools/branches/gsoc2009-decompiler/decompiler/test/test_graph.h	2009-06-25 01:11:47 UTC (rev 41843)
@@ -1,173 +0,0 @@
-#include <cxxtest/TestSuite.h>
-
-// TODO: move interal tests to a separate file
-#define private public
-#include <graph.h>
-#undef private
-
-#include <list>
-#include <vector>
-using namespace std;
-
-#include <boost/foreach.hpp>
-#ifndef foreach
-#define foreach BOOST_FOREACH
-#endif
-
-typedef Graph<int> IntGraph;
-typedef IntGraph::Node IntNode;
-
-
-class GraphTestSuite : public CxxTest::TestSuite {
-
-	IntGraph *g1, *g2, *g3, *g4;
-
-public:
-
-	void setUp() {
-		g1 = makeGraph1();
-		g2 = makeGraph2();
-		g3 = makeGraph3();
-		g4 = makeGraph4();
-	}
-
-	// this tests internal, intermediate results, not part of the api
-	void test_intervals() {
-		g1->intervals();
-		TS_ASSERT_EQUALS(findNode(g1, 1)->interval()->_data, findNode(g1, 1)->_data);
-		for (int i = 2; i <= 6; i++)
-			TS_ASSERT_EQUALS(findNode(g1, i)->interval()->_data, findNode(g1, 2)->_data);
-		g2->intervals();
-		for (int i = 1; i <= 5; i++)
-			TS_ASSERT_EQUALS(findNode(g2, i)->interval()->_data, findNode(g2, 1)->_data);
-		for (int i = 6; i <= 12; i++)
-			TS_ASSERT_EQUALS(findNode(g2, i)->interval()->_data, findNode(g2, 6)->_data);
-		for (int i = 13; i <= 15; i++)
-			TS_ASSERT_EQUALS(findNode(g2, i)->interval()->_data, findNode(g2, 13)->_data);
-		g3->intervals();
-		TS_ASSERT_EQUALS(findNode(g3, 1)->interval()->_data, findNode(g3, 1)->_data);
-		TS_ASSERT_EQUALS(findNode(g3, 2)->interval()->_data, findNode(g3, 2)->_data);
-		TS_ASSERT_EQUALS(findNode(g3, 3)->interval()->_data, findNode(g3, 3)->_data);
-		g4->intervals();
-		TS_ASSERT_EQUALS(findNode(g4, 1)->interval()->_data, findNode(g4, 1)->_data);
-		TS_ASSERT_EQUALS(findNode(g4, 2)->interval()->_data, findNode(g4, 2)->_data);
-		TS_ASSERT_EQUALS(findNode(g4, 3)->interval()->_data, findNode(g4, 2)->_data);
-	}
-
-	void test_extendIntervals() {
-		g1->intervals();
-		g1->extendIntervals();
-		for (int i = 1; i <= 6; i++)
-			TS_ASSERT_EQUALS(findNode(g1, i)->interval()->_data, findNode(g1, 1)->_data);
-		g2->intervals();
-		g2->extendIntervals();
-		for (int i = 1; i <= 5; i++)
-			TS_ASSERT_EQUALS(findNode(g2, i)->interval()->_data, findNode(g2, 1)->_data);
-		for (int i = 6; i <= 15; i++)
-			TS_ASSERT_EQUALS(findNode(g2, i)->interval()->_data, findNode(g2, 6)->_data);
-		g2->extendIntervals();
-		for (int i = 1; i <= 15; i++)
-			TS_ASSERT_EQUALS(findNode(g2, i)->interval()->_data, findNode(g2, 1)->_data);
-		g3->intervals();
-		g3->extendIntervals();
-		TS_ASSERT_EQUALS(findNode(g3, 1)->interval()->_data, findNode(g3, 1)->_data);
-		TS_ASSERT_EQUALS(findNode(g3, 2)->interval()->_data, findNode(g3, 2)->_data);
-		TS_ASSERT_EQUALS(findNode(g3, 3)->interval()->_data, findNode(g3, 3)->_data);
-		g4->intervals();
-		g4->extendIntervals();
-		TS_ASSERT_EQUALS(findNode(g4, 1)->interval()->_data, findNode(g4, 1)->_data);
-		TS_ASSERT_EQUALS(findNode(g4, 2)->interval()->_data, findNode(g4, 1)->_data);
-		TS_ASSERT_EQUALS(findNode(g4, 3)->interval()->_data, findNode(g4, 1)->_data);
-	}
-
-private:
-
-	IntNode *findNode(IntGraph *g, int data) {
-		foreach (IntNode *u, g->_nodes)
-			if (u->_data == data)
-				return u;
-		return 0;
-	}
-
-	IntGraph *makeGraph1() {
-    	IntGraph *g = new IntGraph;
-		g->addNode(1);
-		g->addNode(2);
-		g->addNode(3);
-		g->addNode(4);
-		g->addNode(5);
-		g->addNode(6);
-		g->addEdge(findNode(g, 1), findNode(g, 2));
-		g->addEdge(findNode(g, 2), findNode(g, 3));
-		g->addEdge(findNode(g, 2), findNode(g, 5));
-		g->addEdge(findNode(g, 3), findNode(g, 4));
-		g->addEdge(findNode(g, 4), findNode(g, 2));
-		g->addEdge(findNode(g, 5), findNode(g, 1));
-		g->addEdge(findNode(g, 5), findNode(g, 6));
-		return g;
-	}
-
-	IntGraph *makeGraph2() {
-		IntGraph *g = new IntGraph;
-		g->addNode(1);
-		g->addNode(2);
-		g->addNode(3);
-		g->addNode(4);
-		g->addNode(5);
-		g->addNode(6);
-		g->addNode(7);
-		g->addNode(8);
-		g->addNode(9);
-		g->addNode(10);
-		g->addNode(11);
-		g->addNode(12);
-		g->addNode(13);
-		g->addNode(14);
-		g->addNode(15);
-		g->addEdge(findNode(g, 1), findNode(g, 2));
-		g->addEdge(findNode(g, 1), findNode(g, 5));
-		g->addEdge(findNode(g, 2), findNode(g, 3));
-		g->addEdge(findNode(g, 2), findNode(g, 4));
-		g->addEdge(findNode(g, 3), findNode(g, 5));
-		g->addEdge(findNode(g, 4), findNode(g, 5));
-		g->addEdge(findNode(g, 5), findNode(g, 6));
-		g->addEdge(findNode(g, 6), findNode(g, 7));
-		g->addEdge(findNode(g, 6), findNode(g, 12));
-		g->addEdge(findNode(g, 7), findNode(g, 8));
-		g->addEdge(findNode(g, 7), findNode(g, 9));
-		g->addEdge(findNode(g, 8), findNode(g, 9));
-		g->addEdge(findNode(g, 8), findNode(g, 10));
-		g->addEdge(findNode(g, 9), findNode(g, 10));
-		g->addEdge(findNode(g, 10), findNode(g, 11));
-		g->addEdge(findNode(g, 12), findNode(g, 13));
-		g->addEdge(findNode(g, 13), findNode(g, 14));
-		g->addEdge(findNode(g, 14), findNode(g, 13));
-		g->addEdge(findNode(g, 14), findNode(g, 15));
-		g->addEdge(findNode(g, 15), findNode(g, 6));
-		return g;
-	}
-
-	IntGraph *makeGraph3() {
-		IntGraph *g = new IntGraph;
-		g->addNode(1);
-		g->addNode(2);
-		g->addNode(3);
-		g->addEdge(findNode(g, 1), findNode(g, 2));
-		g->addEdge(findNode(g, 1), findNode(g, 3));
-		g->addEdge(findNode(g, 2), findNode(g, 3));
-		g->addEdge(findNode(g, 3), findNode(g, 2));
-		return g;
-	}
-
-	IntGraph *makeGraph4() {
-		IntGraph *g = new IntGraph;
-		g->addNode(1);
-		g->addNode(2);
-		g->addNode(3);
-		g->addEdge(findNode(g, 1), findNode(g, 2));
-		g->addEdge(findNode(g, 2), findNode(g, 2));
-		g->addEdge(findNode(g, 2), findNode(g, 3));
-		g->addEdge(findNode(g, 3), findNode(g, 1));
-		return g;
-	}
-};

Added: tools/branches/gsoc2009-decompiler/decompiler/test/test_graph_internal.h
===================================================================
--- tools/branches/gsoc2009-decompiler/decompiler/test/test_graph_internal.h	                        (rev 0)
+++ tools/branches/gsoc2009-decompiler/decompiler/test/test_graph_internal.h	2009-06-25 01:11:47 UTC (rev 41843)
@@ -0,0 +1,75 @@
+#ifndef TEST_GRAPH_H
+#define TEST_GRAPH_H
+
+#define private public
+#include <graph.h>
+#include "data_graph.h"
+#undef  private
+
+#include <cxxtest/TestSuite.h>
+
+
+class GraphTestSuite : public CxxTest::TestSuite {
+
+	Graph<int> *g1, *g2, *g3, *g4;
+
+public:
+
+	void setUp() {
+		g1 = makeGraph1();
+		g2 = makeGraph2();
+		g3 = makeGraph3();
+		g4 = makeGraph4();
+	}
+
+	// this tests internal, intermediate results, not part of the api
+	void test_intervals() {
+		g1->intervals();
+		TS_ASSERT_EQUALS(findNode(g1, 1)->interval()->_data, findNode(g1, 1)->_data);
+		for (int i = 2; i <= 6; i++)
+			TS_ASSERT_EQUALS(findNode(g1, i)->interval()->_data, findNode(g1, 2)->_data);
+		g2->intervals();
+		for (int i = 1; i <= 5; i++)
+			TS_ASSERT_EQUALS(findNode(g2, i)->interval()->_data, findNode(g2, 1)->_data);
+		for (int i = 6; i <= 12; i++)
+			TS_ASSERT_EQUALS(findNode(g2, i)->interval()->_data, findNode(g2, 6)->_data);
+		for (int i = 13; i <= 15; i++)
+			TS_ASSERT_EQUALS(findNode(g2, i)->interval()->_data, findNode(g2, 13)->_data);
+		g3->intervals();
+		TS_ASSERT_EQUALS(findNode(g3, 1)->interval()->_data, findNode(g3, 1)->_data);
+		TS_ASSERT_EQUALS(findNode(g3, 2)->interval()->_data, findNode(g3, 2)->_data);
+		TS_ASSERT_EQUALS(findNode(g3, 3)->interval()->_data, findNode(g3, 3)->_data);
+		g4->intervals();
+		TS_ASSERT_EQUALS(findNode(g4, 1)->interval()->_data, findNode(g4, 1)->_data);
+		TS_ASSERT_EQUALS(findNode(g4, 2)->interval()->_data, findNode(g4, 2)->_data);
+		TS_ASSERT_EQUALS(findNode(g4, 3)->interval()->_data, findNode(g4, 2)->_data);
+	}
+
+	void test_extendIntervals() {
+		g1->intervals();
+		g1->extendIntervals();
+		for (int i = 1; i <= 6; i++)
+			TS_ASSERT_EQUALS(findNode(g1, i)->interval()->_data, findNode(g1, 1)->_data);
+		g2->intervals();
+		g2->extendIntervals();
+		for (int i = 1; i <= 5; i++)
+			TS_ASSERT_EQUALS(findNode(g2, i)->interval()->_data, findNode(g2, 1)->_data);
+		for (int i = 6; i <= 15; i++)
+			TS_ASSERT_EQUALS(findNode(g2, i)->interval()->_data, findNode(g2, 6)->_data);
+		g2->extendIntervals();
+		for (int i = 1; i <= 15; i++)
+			TS_ASSERT_EQUALS(findNode(g2, i)->interval()->_data, findNode(g2, 1)->_data);
+		g3->intervals();
+		g3->extendIntervals();
+		TS_ASSERT_EQUALS(findNode(g3, 1)->interval()->_data, findNode(g3, 1)->_data);
+		TS_ASSERT_EQUALS(findNode(g3, 2)->interval()->_data, findNode(g3, 2)->_data);
+		TS_ASSERT_EQUALS(findNode(g3, 3)->interval()->_data, findNode(g3, 3)->_data);
+		g4->intervals();
+		g4->extendIntervals();
+		TS_ASSERT_EQUALS(findNode(g4, 1)->interval()->_data, findNode(g4, 1)->_data);
+		TS_ASSERT_EQUALS(findNode(g4, 2)->interval()->_data, findNode(g4, 1)->_data);
+		TS_ASSERT_EQUALS(findNode(g4, 3)->interval()->_data, findNode(g4, 1)->_data);
+	}
+};
+
+#endif


Property changes on: tools/branches/gsoc2009-decompiler/decompiler/test/test_graph_internal.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list