summaryrefslogtreecommitdiffstats
path: root/cpp/sca/test/store-script/store-script-test.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cpp/sca/test/store-script/store-script-test.cpp34
1 files changed, 25 insertions, 9 deletions
diff --git a/cpp/sca/test/store-script/store-script-test.cpp b/cpp/sca/test/store-script/store-script-test.cpp
index 95e7ba0929..8eac2f7b8b 100644
--- a/cpp/sca/test/store-script/store-script-test.cpp
+++ b/cpp/sca/test/store-script/store-script-test.cpp
@@ -52,19 +52,35 @@ const tuscany::value evalLoop(std::istream& is, const tuscany::value& req, tusca
}
bool testEval() {
- std::ifstream is("store.scm", std::ios_base::in);
- std::ostringstream os;
+ {
+ std::ifstream is("store.scm", std::ios_base::in);
+ std::ostringstream os;
+
+ tuscany::setupEvalOut(os);
+ tuscany::Env globalEnv = tuscany::setupEnvironment();
+
+ const tuscany::value req(tuscany::mklist<tuscany::value>("storeui_service", std::string("getcatalog")));
+ const tuscany::value res = evalLoop(is, req, globalEnv);
+
+ std::ostringstream rs;
+ rs << res;
+ assert(contains(rs.str(), "List::(List::(List::(Symbol::name, (String::\"apple\", ())), (List::(Symbol::currency, (String::\"USD\", ())), (List::(Symbol::symbol, (String::\"$\", ())), (List::(Symbol::price, (Number::2.99, ())), ())))), (List::(List::(Symbol::name, (String::\"orange\", ())), (List::(Symbol::currency, (String::\"USD\", ())), (List::(Symbol::symbol, (String::\"$\", ())), (List::(Symbol::price, (Number::3.55, ())), ())))), (List::(List::(Symbol::name, (String::\"pear\", ())), (List::(Symbol::currency, (String::\"USD\", ())), (List::(Symbol::symbol, (String::\"$\", ())), (List::(Symbol::price, (Number::1.55, ())), ())))), ())))"));
+ }
- tuscany::setupEvalOut(os);
- tuscany::Env globalEnv = tuscany::setupEnvironment();
+ {
+ std::ifstream is("store.scm", std::ios_base::in);
+ std::ostringstream os;
- const tuscany::value req(tuscany::makeList<tuscany::value>("storeui_service", std::string("getcatalog")));
- const tuscany::value res = evalLoop(is, req, globalEnv);
+ tuscany::setupEvalOut(os);
+ tuscany::Env globalEnv = tuscany::setupEnvironment();
- std::ostringstream rs;
- rs << res;
- assert(contains(rs.str(), "List::(List::(List::(Symbol::name, (String::\"apple\", ())), (List::(Symbol::currency, (String::\"USD\", ())), (List::(Symbol::symbol, (String::\"$\", ())), (List::(Symbol::price, (Number::2.99, ())), ())))), (List::(List::(Symbol::name, (String::\"orange\", ())), (List::(Symbol::currency, (String::\"USD\", ())), (List::(Symbol::symbol, (String::\"$\", ())), (List::(Symbol::price, (Number::3.55, ())), ())))), (List::(List::(Symbol::name, (String::\"pear\", ())), (List::(Symbol::currency, (String::\"USD\", ())), (List::(Symbol::symbol, (String::\"$\", ())), (List::(Symbol::price, (Number::1.55, ())), ())))), ())))"));
+ const tuscany::value req(tuscany::mklist<tuscany::value>("storeui_service", std::string("gettotal")));
+ const tuscany::value res = evalLoop(is, req, globalEnv);
+ std::ostringstream rs;
+ rs << res;
+ assert(contains(rs.str(), "Number::10"));
+ }
return true;
}