summaryrefslogtreecommitdiffstats
path: root/Sencha-lang/Tests/TestParser.h
blob: ac4f119037b4db9edddbbf313487c1ecbfbccac3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
 * TestParser.h
 *
 *  Created on: Dec 22, 2012
 *      Author: att
 */

#ifndef TESTPARSER_H_
#define TESTPARSER_H_

#include "TestSuite.h"
#include "../Lexer.h"
#include "../Parser.h"
#include "../ASTInspector.h"
#include <utility>
#include <vector>


/**
 * TestParser is test suite for testing parser.
 * It checks if parser works correctly.
 * Features checked: defining and calling functions, array access, changing letters in strings and so on.
 */
class TestParser: public TestSuite {
public:
	TestParser();
	virtual ~TestParser();
	typedef  std::pair<std::string, bool> InputOutputPair;
	typedef  std::pair<std::string, SenchaObject> SInputOutputPair;

private:
	//Actual tests
	std::string test_parsing_and_evaluating_logical_expressions();
	std::string test_adding_new_function();
	std::string test_calling_funtion();
	std::string test_writing_and_accessing_array_elements();
	std::string test_changing_letters_in_string();


	std::vector<InputOutputPair> prepare_logical_input();
	std::string prepare_some_function_declarations();
	virtual std::string all_tests();

};

#endif /* TESTPARSER_H_ */