summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/kernel/kernel-test.cpp
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2012-05-28 04:39:18 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2012-05-28 04:39:18 +0000
commitf278315081b24b59bf73e9613e552e3519200a71 (patch)
treecdfe0e8d00e2c3e8002284c4541429f91cb66e68 /sca-cpp/trunk/kernel/kernel-test.cpp
parentc3eb9d1e20e1f8a7a101854d6a883692cac4e8d0 (diff)
Improve error reporting with a reason code. Improve debug and audit logging. Fix test scripts to cleanup state from previous builds and correctly report test errors.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1343138 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk/kernel/kernel-test.cpp')
-rw-r--r--sca-cpp/trunk/kernel/kernel-test.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/sca-cpp/trunk/kernel/kernel-test.cpp b/sca-cpp/trunk/kernel/kernel-test.cpp
index 9b87397b96..7bde4fb526 100644
--- a/sca-cpp/trunk/kernel/kernel-test.cpp
+++ b/sca-cpp/trunk/kernel/kernel-test.cpp
@@ -501,13 +501,23 @@ const failable<int> failableH(const int v) {
bool testFailableMonad() {
const failable<int> m(2);
assert(m >> failableF == failableF(2));
- assert((m >> success<int, string>()) == m);
+ assert((m >> success<int, string, int>()) == m);
assert(m >> failableF >> failableG == m >> failableH);
cout << "Failable monad test... " << endl;
- failable<int> ooops = mkfailure<int>("test");
+ const failable<int> ooops = mkfailure<int>("test", 500);
assert(reason(ooops) == "test");
+ assert(rcode(ooops) == 500);
assert(ooops >> failableF >> failableG == ooops);
+
+ const failable<value> vooops = mkfailure<value>(ooops);
+ assert(reason(vooops) == "test");
+ assert(rcode(vooops) == 500);
+
+ const value v = value(vooops);
+ assert(car<value>(v) == value());
+ assert(cadr<value>(v) == string("test"));
+ assert(caddr<value>(v) == value((double)500));
return true;
}