#pragma once

#include <cppunit/extensions/HelperMacros.h>
#include "Expression.h"
#include <map>

class TestInterpreter : public CPPUNIT_NS::TestFixture
{
	CPPUNIT_TEST_SUITE( TestInterpreter );
	CPPUNIT_TEST( test1 );
	CPPUNIT_TEST( test2 );
	CPPUNIT_TEST( test3 );
	CPPUNIT_TEST( test4 );
	CPPUNIT_TEST( testException );
	CPPUNIT_TEST_SUITE_END();

public:
    TestInterpreter(void);
    ~TestInterpreter(void);
	void setUp();
	void tearDown();

    void test1(void);
    void test2(void);
    void test3(void);
    void test4(void);
    void testException(void);
private:
    Expression *m_syntaxTree;
    std::map<std::string, Expression*> m_variables;
};

