aboutsummaryrefslogtreecommitdiffstats
path: root/meowpp.test/inc/meowpp.h
diff options
context:
space:
mode:
Diffstat (limited to 'meowpp.test/inc/meowpp.h')
-rw-r--r--meowpp.test/inc/meowpp.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/meowpp.test/inc/meowpp.h b/meowpp.test/inc/meowpp.h
new file mode 100644
index 0000000..8e6e181
--- /dev/null
+++ b/meowpp.test/inc/meowpp.h
@@ -0,0 +1,34 @@
+#ifndef __meowpp_h__
+#define __meowpp_h__
+
+#include "meowpp/geo/Vector2D.h"
+#include "meowpp/geo/Vector3D.h"
+
+#include "meowpp/Usage.h"
+#include "meowpp/oo/Properties.h"
+#include "meowpp/oo/ObjBase.h"
+#include "meowpp/oo/ObjSelector.h"
+
+extern int count;
+
+class TestFunction: public meow::ObjBase{
+ public:
+ virtual ~TestFunction(){ };
+ virtual bool run() = 0;
+ virtual std::string name () const = 0;
+ virtual std::string description() const = 0;
+};
+
+#define TEST(__A,__B) \
+class Test##__A: public TestFunction{ \
+ public: \
+ \
+ meow::ObjBase* create() const{ return new Test##__A(); } \
+ bool run(); \
+ std::string name() const{ return #__A; } \
+ std::string description() const{ return __B; } \
+}; \
+static meow::ObjSelector<0> _(meow::stringPrintf("%d", count++), new Test##__A()); \
+inline bool Test##__A::run()
+
+#endif // __meowpp_h__