|
PH Logo
Logo intepreter modeled after UCB Logo.
|
00001 #define BOOST_TEST_MAIN 00002 #include <boost/test/unit_test.hpp> 00003 00004 #include <iostream> 00005 #include <string> 00006 #include <sstream> 00007 #include <algorithm> 00008 #include <iterator> 00009 00010 #include "Thing.h" 00011 #include "Console.h" 00012 #include "World.h" 00013 #include "Interpreter.h" 00014 00015 using namespace std; 00016 using namespace phlogo; 00017 00018 BOOST_AUTO_TEST_CASE( suite ) 00019 { 00020 StringConsole c; 00021 World w(&c); 00022 Interpreter itp(&w); 00023 itp.run(&w, "testsuite \"array"); 00024 BOOST_CHECK(!c.isError()); 00025 if (c.isError()) { 00026 cout << c.getString() << endl; 00027 } 00028 BOOST_CHECK_EQUAL(w.getResult()->getWord(), "passed [8]"); 00029 } 00030 00031 /* 00032 BOOST_AUTO_TEST_CASE( mdsetitem ) 00033 { 00034 ConsoleTester c; 00035 00036 c.run("make \"X {{1 2} {3 4} {5 6}}"); 00037 c.run("mdsetitem [2 3] :X 5"); 00038 c.run("print :X"); 00039 c.test("{{1 2} {3 5} {5 6}}"); 00040 } 00041 00042 BOOST_AUTO_TEST_CASE( setfirst ) 00043 { 00044 ConsoleTester c; 00045 00046 c.run("make \"X [1 2 3]"); 00047 c.run(".setfirst :X 2"); 00048 c.run("print :X"); 00049 c.test("2 2 3"); 00050 } 00051 00052 BOOST_AUTO_TEST_CASE( setbf ) 00053 { 00054 ConsoleTester c; 00055 00056 c.run("make \"X [1 2 3]"); 00057 c.run(".setbf :X [2 3 4]"); 00058 c.run("print :X"); 00059 c.test("1 2 3 4"); 00060 } 00061 */
1.7.4