summaryrefslogtreecommitdiff
path: root/tests/cpp/include
diff options
context:
space:
mode:
authorvalmat <ufabiz@gmail.com>2014-03-18 15:18:11 +0600
committervalmat <ufabiz@gmail.com>2014-03-18 15:18:11 +0600
commite8334afd7f2920b706a3d28250a3e2b6dbd49538 (patch)
treea92e2b1b67c22eaad7eb84a2138ede2dae12e873 /tests/cpp/include
parentbfaed88493de0a3ebd7f2619cb11291cd09252b1 (diff)
Unit tests. For description see https://github.com/CopernicaMarketingSoftware/PHP-CPP/pull/25#issuecomment-37882236
Diffstat (limited to 'tests/cpp/include')
-rw-r--r--tests/cpp/include/MyCustomClass.h70
-rw-r--r--tests/cpp/include/testValueIterator.h27
2 files changed, 97 insertions, 0 deletions
diff --git a/tests/cpp/include/MyCustomClass.h b/tests/cpp/include/MyCustomClass.h
new file mode 100644
index 0000000..02ff44b
--- /dev/null
+++ b/tests/cpp/include/MyCustomClass.h
@@ -0,0 +1,70 @@
+/**
+ *
+ *
+ *
+ *
+ */
+
+
+/**
+ * Set up namespace
+ */
+namespace TestBaseClass {
+
+
+/**
+ * Namespace to use
+ */
+ using namespace std;
+
+ class MyCustomClass : public Php::Base, public Php::Countable
+ {
+ private:
+ int _x = 3;
+
+ public:
+ MyCustomClass()
+ {
+ std::cerr << "MyCustomClass::MyCustomClass()" << std::endl;
+ }
+
+ MyCustomClass(int value) : _x(value)
+ {
+ std::cerr << "MyCustomClass::MyCustomClass(" << value << ")" << std::endl;
+ }
+
+ MyCustomClass(const MyCustomClass &that)
+ {
+ //std::cerr << "MyCustomClass::MyCustomClass copy constructor" << std::endl;
+ }
+
+ virtual ~MyCustomClass()
+ {
+ std::cerr << "MyCustomClass::~MyCustomClass" << std::endl;
+ }
+
+ virtual long int count() override
+ {
+ return 33;
+ }
+
+ Php::Value myMethod(Php::Parameters &params)
+ {
+ // check number of parameters
+ //if (params.size() != 1) throw Php::Exception("Invalid number of parameters supplied");
+
+ std::cout << "myMethod is called for object " << _x << std::endl;
+
+ return 5;
+
+ }
+ };
+
+
+
+/**
+ * End of namespace
+ */
+}
+
+ \ No newline at end of file
diff --git a/tests/cpp/include/testValueIterator.h b/tests/cpp/include/testValueIterator.h
new file mode 100644
index 0000000..a9329c9
--- /dev/null
+++ b/tests/cpp/include/testValueIterator.h
@@ -0,0 +1,27 @@
+/**
+ *
+ * TestValueIterator
+ *
+ */
+
+/**
+ * Set up namespace
+ */
+namespace TestValueIterator {
+
+
+ void loopValue(Php::Parameters &params)
+ {
+ std::cout << "Array/Object contains " << params[0].size() << " items" << std::endl;
+ for (auto it=params[0].begin(), itend = params[0].end(); it != itend; ++it) {
+ std::cout << "["<< it->first << "]="<< it->second << std::endl;
+ //std::cout << "["<< it->key() << "]="<< it->value() << std::endl;
+ }
+ return;
+ }
+
+/**
+ * End of namespace
+ */
+}
+