From e8334afd7f2920b706a3d28250a3e2b6dbd49538 Mon Sep 17 00:00:00 2001 From: valmat Date: Tue, 18 Mar 2014 15:18:11 +0600 Subject: Unit tests. For description see https://github.com/CopernicaMarketingSoftware/PHP-CPP/pull/25#issuecomment-37882236 --- tests/cpp/include/MyCustomClass.h | 70 +++++++++++++++++++++++++++++++++++ tests/cpp/include/testValueIterator.h | 27 ++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 tests/cpp/include/MyCustomClass.h create mode 100644 tests/cpp/include/testValueIterator.h (limited to 'tests/cpp/include') 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 ¶ms) + { + // 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 ¶ms) + { + 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 + */ +} + -- cgit v1.2.3