diff options
Diffstat (limited to '')
-rw-r--r-- | sca-cpp/trunk/test/store-script/store-script-test.cpp | 56 |
1 files changed, 25 insertions, 31 deletions
diff --git a/sca-cpp/trunk/test/store-script/store-script-test.cpp b/sca-cpp/trunk/test/store-script/store-script-test.cpp index add5cb75e5..a85b661b43 100644 --- a/sca-cpp/trunk/test/store-script/store-script-test.cpp +++ b/sca-cpp/trunk/test/store-script/store-script-test.cpp @@ -25,12 +25,10 @@ #include <assert.h> #include <regex.h> -#include <iostream> -#include <fstream> -#include <string> +#include "stream.hpp" +#include "string.hpp" #include "list.hpp" #include "driver.hpp" -#include "slist.hpp" #include "xml.hpp" #include "../json/json.hpp" @@ -38,51 +36,47 @@ namespace store { using namespace tuscany; -bool contains(const std::string& str, const std::string& pattern) { - return str.find(pattern) != std::string::npos; -} - bool testScript() { - std::ifstream is("store-script.scm", std::ios_base::in); - std::ostringstream os; - eval::evalDriverRun(is, os); - - assert(contains(os.str(), "(\"Sample Feed\" \"")); - assert(contains(os.str(), "\" (\"Item\" \"")); - assert(contains(os.str(), "\" ((javaClass \"services.Item\") (name \"Orange\") (currencyCode \"USD\") (currencySymbol \"$\") (price 3.55))) (\"Item\" \"")); - assert(contains(os.str(), "\" ((javaClass \"services.Item\") (name \"Apple\") (currencyCode \"USD\") (currencySymbol \"$\") (price 2.99))))")); + gc_scoped_pool pool; + + ifstream is("store-script.scm"); + ostringstream os; + eval::evalDriverRun(is, os, pool); + assert(contains(str(os), "(\"Sample Feed\" \"")); + assert(contains(str(os), "\" (\"Item\" \"")); + assert(contains(str(os), "\" ((javaClass \"services.Item\") (name \"Orange\") (currencyCode \"USD\") (currencySymbol \"$\") (price 3.55))) (\"Item\" \"")); + assert(contains(str(os), "\" ((javaClass \"services.Item\") (name \"Apple\") (currencyCode \"USD\") (currencySymbol \"$\") (price 2.99))))")); return true; } bool testEval() { { - std::ifstream is("store-script.scm", std::ios_base::in); - std::ostringstream os; + gc_scoped_pool pool; + ifstream is("store-script.scm"); + ostringstream os; eval::setupDisplay(os); - - gc_pool pool; eval::Env globalEnv = eval::setupEnvironment(pool); - const value exp(mklist<value>("storeui_service", std::string("getcatalog"))); + const value exp(mklist<value>("storeui_service", string("getcatalog"))); const value val = eval::evalScript(exp, is, globalEnv, pool); - std::ostringstream vs; + ostringstream vs; vs << val; - assert(contains(vs.str(), "(((javaClass \"services.Item\") (name \"Apple\") (currencyCode \"USD\") (currencySymbol \"$\") (price 2.99)) ((javaClass \"services.Item\") (name \"Orange\") (currencyCode \"USD\") (currencySymbol \"$\") (price 3.55)) ((javaClass \"services.Item\") (name \"Pear\") (currencyCode \"USD\") (currencySymbol \"$\") (price 1.55)))")); + assert(contains(str(vs), "(((javaClass \"services.Item\") (name \"Apple\") (currencyCode \"USD\") (currencySymbol \"$\") (price 2.99)) ((javaClass \"services.Item\") (name \"Orange\") (currencyCode \"USD\") (currencySymbol \"$\") (price 3.55)) ((javaClass \"services.Item\") (name \"Pear\") (currencyCode \"USD\") (currencySymbol \"$\") (price 1.55)))")); } { - std::ifstream is("store-script.scm", std::ios_base::in); - std::ostringstream os; + gc_scoped_pool pool; + ifstream is("store-script.scm"); + ostringstream os; eval::setupDisplay(os); - gc_pool pool; eval::Env globalEnv = eval::setupEnvironment(pool); - const value exp(mklist<value>("storeui_service", std::string("gettotal"))); + const value exp(mklist<value>("storeui_service", string("gettotal"))); const value res = eval::evalScript(exp, is, globalEnv, pool); - std::ostringstream rs; + ostringstream rs; rs << res; - assert(contains(rs.str(), "10")); + assert(contains(str(rs), "10")); } return true; } @@ -91,12 +85,12 @@ bool testEval() { int main() { - std::cout << "Testing..." << std::endl; + tuscany::cout << "Testing..." << tuscany::endl; store::testScript(); store::testEval(); - std::cout << "OK" << std::endl; + tuscany::cout << "OK" << tuscany::endl; return 0; } |