Possibility to pass class method reference
[command.git] / tests / callable / invokes_class_method.cpp
diff --git a/tests/callable/invokes_class_method.cpp b/tests/callable/invokes_class_method.cpp
new file mode 100644 (file)
index 0000000..3b0de6b
--- /dev/null
@@ -0,0 +1,35 @@
+#include <cstring>
+#include <iostream>
+
+#include <functional> // std::bind, _1
+
+#include "TestCallable.h"
+#include "callable.h"
+
+using namespace std;
+using namespace command;
+
+bool test = false;
+
+class Class {
+public:
+    void method(void) {
+        test = true;
+    };
+};
+
+int main() {
+    Class c;
+    TestCallable<void> callable(std::bind(&Class::method, &c));
+    callable.callFunction();
+
+    if (test == true) {
+        cout << "Callable class calls provided class member method\n";
+        return 0;
+    }
+
+    cout << "Callable class does not call provided  member method\n";
+
+    return 1;
+}
+