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.cpp45
1 files changed, 25 insertions, 20 deletions
diff --git a/cpp/sca/test/store-script/store-script-test.cpp b/cpp/sca/test/store-script/store-script-test.cpp
index 8eac2f7b8b..2d1891dd14 100644
--- a/cpp/sca/test/store-script/store-script-test.cpp
+++ b/cpp/sca/test/store-script/store-script-test.cpp
@@ -27,10 +27,16 @@
#include <iostream>
#include <fstream>
#include <string>
+#include "list.hpp"
#include "driver.hpp"
+#include "slist.hpp"
+#include "xml.hpp"
+#include "../json/json.hpp"
namespace store {
+using namespace tuscany;
+
bool contains(const std::string& str, const std::string& pattern) {
return str.find(pattern) != str.npos;
}
@@ -38,16 +44,16 @@ bool contains(const std::string& str, const std::string& pattern) {
bool testScript() {
std::ifstream is("store.scm", std::ios_base::in);
std::ostringstream os;
- tuscany::evalDriverRun(is, os);
- assert(contains(os.str(), "List::(List::(List::(Symbol::name, (String::\"apple\", ())), (List::(Symbol::currency, (String::\"USD\", ())), (List::(Symbol::symbol, (String::\"$\", ())), (List::(Symbol::price, (Number::2.99, ())), ())))), ())"));
+ eval::evalDriverRun(is, os);
+ assert(contains(os.str(), "(string::\"Sample Feed\", string::\"123\", (string::\"Item\", string::\"123456789\", ((symbol::javaClass, string::\"services.Item\"), (symbol::name, string::\"Orange\"), (symbol::currency, string::\"USD\"), (symbol::symbol, string::\"$\"), (symbol::price, number::3.55))), (string::\"Item\", string::\"123456789\", ((symbol::javaClass, string::\"services.Item\"), (symbol::name, string::\"Apple\"), (symbol::currency, string::\"USD\"), (symbol::symbol, string::\"$\"), (symbol::price, number::2.99))))"));
return true;
}
-const tuscany::value evalLoop(std::istream& is, const tuscany::value& req, tuscany::Env& globalEnv) {
- tuscany::value in = tuscany::read(is);
- if(tuscany::isNil(in))
- return tuscany::eval(req, globalEnv);
- tuscany::eval(in, globalEnv);
+const value evalLoop(std::istream& is, const value& req, eval::Env& globalEnv) {
+ value in = eval::read(is);
+ if(isNil(in))
+ return eval::evalApply(req, globalEnv);
+ eval::evalApply(in, globalEnv);
return evalLoop(is, req, globalEnv);
}
@@ -55,31 +61,30 @@ bool testEval() {
{
std::ifstream is("store.scm", std::ios_base::in);
std::ostringstream os;
+ eval::setupEvalOut(os);
+ eval::Env globalEnv = eval::setupEnvironment();
- 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);
+ const value req(mklist<value>("storeui_service", std::string("getcatalog")));
+ const value val = 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, ())), ())))), ())))"));
+ std::ostringstream vs;
+ vs << val;
+ assert(contains(vs.str(),"(((symbol::javaClass, string::\"services.Item\"), (symbol::name, string::\"Apple\"), (symbol::currency, string::\"USD\"), (symbol::symbol, string::\"$\"), (symbol::price, number::2.99)), ((symbol::javaClass, string::\"services.Item\"), (symbol::name, string::\"Orange\"), (symbol::currency, string::\"USD\"), (symbol::symbol, string::\"$\"), (symbol::price, number::3.55)), ((symbol::javaClass, string::\"services.Item\"), (symbol::name, string::\"Pear\"), (symbol::currency, string::\"USD\"), (symbol::symbol, string::\"$\"), (symbol::price, number::1.55)))"));
}
{
std::ifstream is("store.scm", std::ios_base::in);
std::ostringstream os;
- tuscany::setupEvalOut(os);
- tuscany::Env globalEnv = tuscany::setupEnvironment();
+ eval::setupEvalOut(os);
+ eval::Env globalEnv = eval::setupEnvironment();
- const tuscany::value req(tuscany::mklist<tuscany::value>("storeui_service", std::string("gettotal")));
- const tuscany::value res = evalLoop(is, req, globalEnv);
+ const value req(mklist<value>("storeui_service", std::string("gettotal")));
+ const value res = evalLoop(is, req, globalEnv);
std::ostringstream rs;
rs << res;
- assert(contains(rs.str(), "Number::10"));
+ assert(contains(rs.str(), "number::10"));
}
return true;
}