summaryrefslogtreecommitdiffstats
path: root/cpp/sca/modules/eval/eval-test.cpp
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2009-11-01 05:25:14 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2009-11-01 05:25:14 +0000
commit6b94d489977c1cb2eeddded3ee329fe6b9605d5c (patch)
treef51d8b2373102cb6c8ac9fc0e051b6f1227a414c /cpp/sca/modules/eval/eval-test.cpp
parent9f187b46ae761e8275362d6c1533e9fe79028c7b (diff)
Minor refactoring of read/write functions and primitive procs. Added functions to help store data in memcached. Fixes to HTTP support and more tests.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@831640 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--cpp/sca/modules/eval/eval-test.cpp30
1 files changed, 24 insertions, 6 deletions
diff --git a/cpp/sca/modules/eval/eval-test.cpp b/cpp/sca/modules/eval/eval-test.cpp
index 584c8470b1..7d92c79eba 100644
--- a/cpp/sca/modules/eval/eval-test.cpp
+++ b/cpp/sca/modules/eval/eval-test.cpp
@@ -39,7 +39,6 @@ bool testEnv() {
defineVariable("x", env, env);
assert(lookupVariableValue(value("x"), env) == env);
assert(lookupVariableValue("a", env) == value(1));
- cleanupEnvironment(env);
return true;
}
@@ -59,23 +58,41 @@ bool testEnvGC() {
bool testRead() {
std::istringstream is("abcd");
- assert(read(is) == "abcd");
+ assert(readValue(is) == "abcd");
std::istringstream is2("123");
- assert(read(is2) == value(123));
+ assert(readValue(is2) == value(123));
std::istringstream is3("(abcd)");
- assert(read(is3) == mklist(value("abcd")));
+ assert(readValue(is3) == mklist(value("abcd")));
std::istringstream is4("(abcd xyz)");
- assert(read(is4) == mklist<value>("abcd", "xyz"));
+ assert(readValue(is4) == mklist<value>("abcd", "xyz"));
std::istringstream is5("(abcd (xyz tuv))");
- assert(read(is5) == mklist<value>("abcd", mklist<value>("xyz", "tuv")));
+ assert(readValue(is5) == mklist<value>("abcd", mklist<value>("xyz", "tuv")));
return true;
}
+bool testWrite() {
+ const list<value> i = list<value>()
+ << (list<value>() << "item" << "cart-53d67a61-aa5e-4e5e-8401-39edeba8b83b"
+ << (list<value>() << "item"
+ << (list<value>() << "name" << "Apple")
+ << (list<value>() << "price" << "$2.99")))
+ << (list<value>() << "item" << "cart-53d67a61-aa5e-4e5e-8401-39edeba8b83c"
+ << (list<value>() << "item"
+ << (list<value>() << "name" << "Orange")
+ << (list<value>() << "price" << "$3.55")));
+ const list<value> a = cons<value>("Feed", cons<value>("feed-1234", i));
+ std::ostringstream os;
+ writeValue(a, os);
+ std::istringstream is(os.str());
+ assert(readValue(is) == a);
+ return true;
+}
+
const std::string testSchemeNumber(
"(define (testNumber) (if (= 1 1) (display \"testNumber ok\") (error \"testNumber\"))) "
"(testNumber)");
@@ -178,6 +195,7 @@ int main() {
tuscany::eval::testEnv();
tuscany::eval::testEnvGC();
tuscany::eval::testRead();
+ tuscany::eval::testWrite();
tuscany::eval::testEval();
tuscany::eval::testEvalExpr();
tuscany::eval::testEvalGC();