summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/kernel/kernel-test.cpp
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2009-11-23 05:25:33 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2009-11-23 05:25:33 +0000
commit585f81b9436e137c3ed784d9a91efa9e6e792e03 (patch)
treef40f0179601320ace0b454698dc76aaeddfc6a5d /sca-cpp/trunk/kernel/kernel-test.cpp
parent3c6b7d709c7197078f8261f8e3464b0f217c988e (diff)
Refactored httpd server integration, split http support and server logic in two modules. Added functions to load component implementations packaged as dynamic libraries. Minor monad code cleanup, converted cast operators to separate functions.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@883249 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk/kernel/kernel-test.cpp')
-rw-r--r--sca-cpp/trunk/kernel/kernel-test.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/sca-cpp/trunk/kernel/kernel-test.cpp b/sca-cpp/trunk/kernel/kernel-test.cpp
index 9346e31b71..24d67e1a9a 100644
--- a/sca-cpp/trunk/kernel/kernel-test.cpp
+++ b/sca-cpp/trunk/kernel/kernel-test.cpp
@@ -37,6 +37,7 @@
#include "element.hpp"
#include "xml.hpp"
#include "monad.hpp"
+#include "dynlib.hpp"
namespace tuscany {
@@ -660,8 +661,8 @@ struct tickInc {
const double v;
tickInc(const double v) : v(v) {
}
- const svp<int, double> operator()(int s) const {
- return svp<int, double>(s + 1, v);
+ const scp<int, double> operator()(int s) const {
+ return scp<int, double>(s + 1, v);
}
};
@@ -693,6 +694,21 @@ bool testStateMonad() {
return true;
}
+bool testDynLib() {
+ const failable<lib, std::string> dl(dynlib(".libs/libdynlib-test" + dynlibExt));
+ assert(hasContent(dl));
+ const failable<lambda<int(int)>, std::string> sq(dynlambda<int(int)>("csquare", content(dl)));
+ assert(hasContent(sq));
+ lambda<int(int)> l(content(sq));
+ assert(l(2) == 4);
+
+ const failable<lambda<lambda<int(int)>()>, std::string> sql(dynlambda<lambda<int(int)>()>("csquarel", content(dl)));
+ assert(hasContent(sql));
+ lambda<lambda<int(int)>()> ll(content(sql));
+ assert(ll()(3) == 9);
+ return true;
+}
+
}
int main() {
@@ -730,6 +746,7 @@ int main() {
tuscany::testMaybeMonad();
tuscany::testFailableMonad();
tuscany::testStateMonad();
+ tuscany::testDynLib();
std::cout << "OK" << std::endl;