Refactor test execute functions
This commit is contained in:
parent
b5e51b8ebc
commit
70aebb35a6
@ -1,18 +1,11 @@
|
|||||||
#include "include/test.h"
|
#include "include/test.h"
|
||||||
|
|
||||||
#include "../src/include/errors.h"
|
#include "../src/include/execute.h"
|
||||||
#include "../src/include/memory.h"
|
#include "../src/include/utils.h"
|
||||||
#include "../src/include/parser.h"
|
|
||||||
#include "../src/include/tokenize.h"
|
|
||||||
#include "../src/include/interpreter.h"
|
|
||||||
|
|
||||||
int execute(string s) {
|
int execute(string s) {
|
||||||
Memory memory;;
|
Memory memory;
|
||||||
vector<Token> tokens = tokenize({ s });
|
return get<int>(execute(split_string(s, '\n'), memory));
|
||||||
Node ast = parse(tokens);
|
|
||||||
EvalResult res = eval(ast, memory);
|
|
||||||
|
|
||||||
return get<int>(res);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
@ -1,17 +1,11 @@
|
|||||||
#include "include/test.h"
|
#include "include/test.h"
|
||||||
|
|
||||||
#include "../src/include/memory.h"
|
#include "../src/include/execute.h"
|
||||||
#include "../src/include/tokenize.h"
|
#include "../src/include/utils.h"
|
||||||
#include "../src/include/parser.h"
|
|
||||||
#include "../src/include/interpreter.h"
|
|
||||||
|
|
||||||
int execute(string s) {
|
int execute(string s) {
|
||||||
Memory memory;;
|
Memory memory;
|
||||||
vector<Token> tokens = tokenize({ s });
|
return get<int>(execute(split_string(s, '\n'), memory));
|
||||||
Node ast = parse(tokens);
|
|
||||||
EvalResult res = eval(ast, memory);
|
|
||||||
|
|
||||||
return get<int>(res);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
@ -1,19 +1,11 @@
|
|||||||
#include "include/test.h"
|
#include "include/test.h"
|
||||||
|
|
||||||
#include "../src/include/memory.h"
|
#include "../src/include/execute.h"
|
||||||
#include "../src/include/tokenize.h"
|
#include "../src/include/utils.h"
|
||||||
#include "../src/include/parser.h"
|
|
||||||
#include "../src/include/analysis.h"
|
|
||||||
#include "../src/include/interpreter.h"
|
|
||||||
|
|
||||||
EvalResult execute(string s) {
|
EvalResult execute(string s) {
|
||||||
Memory memory;;
|
Memory memory;
|
||||||
vector<Token> tokens = tokenize({ s });
|
return execute(split_string(s, '\n'), memory);
|
||||||
Node ast = parse(tokens);
|
|
||||||
analyze(ast, memory);
|
|
||||||
EvalResult res = eval(ast, memory);
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
@ -1,17 +1,11 @@
|
|||||||
#include "include/test.h"
|
#include "include/test.h"
|
||||||
|
|
||||||
#include "../src/include/memory.h"
|
#include "../src/include/execute.h"
|
||||||
#include "../src/include/tokenize.h"
|
#include "../src/include/utils.h"
|
||||||
#include "../src/include/parser.h"
|
|
||||||
#include "../src/include/interpreter.h"
|
|
||||||
|
|
||||||
int execute(string s) {
|
int execute(string s) {
|
||||||
Memory memory;;
|
Memory memory;
|
||||||
vector<Token> tokens = tokenize({ s });
|
return get<int>(execute(split_string(s, '\n'), memory));
|
||||||
Node ast = parse(tokens);
|
|
||||||
EvalResult res = eval(ast, memory);
|
|
||||||
|
|
||||||
return get<int>(res);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
42
test/repl.cpp
Normal file
42
test/repl.cpp
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
#include "include/test.h"
|
||||||
|
|
||||||
|
#include "../src/include/execute.h"
|
||||||
|
#include "../src/include/utils.h"
|
||||||
|
|
||||||
|
EvalResult execute(string s, Memory& memory) {
|
||||||
|
return execute(split_string(s, '\n'), memory);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
_TEST_PRESENTATION("Repl");
|
||||||
|
|
||||||
|
Memory mem1;
|
||||||
|
|
||||||
|
_TEST_ASSERT(
|
||||||
|
_TEST_NO_EXCEPTION(get<int>(execute("int x = 1;", mem1)) == 1),
|
||||||
|
"Déclaration d'une variable globale",
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
|
_TEST_ASSERT(
|
||||||
|
_TEST_NO_EXCEPTION(get<int>(execute("x;", mem1)) == 1),
|
||||||
|
"Persistance de variable",
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
|
Memory mem2;
|
||||||
|
|
||||||
|
_TEST_ASSERT(
|
||||||
|
_TEST_IS_EXCEPTION(execute("{ int x = 1; 1 / 0; }", mem2), ErrorType::DivisionByZero),
|
||||||
|
"Déclaration d'une scope avec erreur au runtime",
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
|
_TEST_ASSERT(
|
||||||
|
_TEST_IS_EXCEPTION(execute("x;", mem2), ErrorType::UnknownIdentifier),
|
||||||
|
"Destruction des scopes en cas d'erreur",
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
@ -1,17 +1,11 @@
|
|||||||
#include "include/test.h"
|
#include "include/test.h"
|
||||||
|
|
||||||
#include "../src/include/memory.h"
|
#include "../src/include/execute.h"
|
||||||
#include "../src/include/tokenize.h"
|
#include "../src/include/utils.h"
|
||||||
#include "../src/include/parser.h"
|
|
||||||
#include "../src/include/interpreter.h"
|
|
||||||
|
|
||||||
EvalResult execute(string s) {
|
EvalResult execute(string s) {
|
||||||
Memory memory;;
|
Memory memory;
|
||||||
vector<Token> tokens = tokenize({ s });
|
return execute(split_string(s, '\n'), memory);
|
||||||
Node ast = parse(tokens);
|
|
||||||
EvalResult res = eval(ast, memory);
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
@ -1,19 +1,11 @@
|
|||||||
#include "include/test.h"
|
#include "include/test.h"
|
||||||
|
|
||||||
#include "../src/include/memory.h"
|
#include "../src/include/execute.h"
|
||||||
#include "../src/include/tokenize.h"
|
#include "../src/include/utils.h"
|
||||||
#include "../src/include/parser.h"
|
|
||||||
#include "../src/include/analysis.h"
|
|
||||||
#include "../src/include/interpreter.h"
|
|
||||||
|
|
||||||
EvalResult execute(string s) {
|
EvalResult execute(string s) {
|
||||||
Memory memory;;
|
Memory memory;
|
||||||
vector<Token> tokens = tokenize({ s });
|
return execute(split_string(s, '\n'), memory);
|
||||||
Node ast = parse(tokens);
|
|
||||||
analyze(ast, memory);
|
|
||||||
EvalResult res = eval(ast, memory);
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
Loading…
Reference in New Issue
Block a user