Update tests
This commit is contained in:
parent
e9fb7c1e2b
commit
1553df6328
@ -30,29 +30,73 @@ int main() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
_TEST_ASSERT(
|
_TEST_ASSERT(
|
||||||
_TEST_NO_EXCEPTION(holds_alternative<monostate>(execute("double a(int b, double c, int d) { return b+c+d; };"))),
|
_TEST_NO_EXCEPTION(holds_alternative<monostate>(execute(R"(
|
||||||
|
double a(int b, double c, int d) {
|
||||||
|
return b+c+d;
|
||||||
|
}
|
||||||
|
)"))),
|
||||||
"Déclaration de fonction",
|
"Déclaration de fonction",
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
_TEST_ASSERT(
|
_TEST_ASSERT(
|
||||||
_TEST_IS_EXCEPTION(execute("int a(int b) { int c(int d) {return d;} return c(b); };"), ErrorType::NestedFunction),
|
_TEST_IS_EXCEPTION(execute(R"(
|
||||||
|
int a(int b) {
|
||||||
|
int c(int d) {
|
||||||
|
return d;
|
||||||
|
}
|
||||||
|
return c(b);
|
||||||
|
};
|
||||||
|
)"),
|
||||||
|
ErrorType::NestedFunction
|
||||||
|
),
|
||||||
"Fonctions imbriquées",
|
"Fonctions imbriquées",
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
_TEST_ASSERT(
|
_TEST_ASSERT(
|
||||||
_TEST_NO_EXCEPTION(get<int>(execute("int sum(int a, int b) {return a+b;}; sum(20, 7);")) == 27),
|
_TEST_NO_EXCEPTION(get<int>(execute(R"(
|
||||||
|
int sum(int a, int b) {
|
||||||
|
return a+b;
|
||||||
|
}
|
||||||
|
sum(20, 7);
|
||||||
|
)")) == 27),
|
||||||
"Exécution de fonction",
|
"Exécution de fonction",
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
_TEST_ASSERT(
|
_TEST_ASSERT(
|
||||||
_TEST_NO_EXCEPTION(get<int>(execute("int recurse(int a) {if (a < 27) {return recurse(a+1);} else {return a;}}; recurse(0);")) == 27),
|
_TEST_NO_EXCEPTION(get<int>(execute(R"(
|
||||||
|
int recurse(int a) {
|
||||||
|
if (a < 27)
|
||||||
|
return recurse(a+1);
|
||||||
|
else
|
||||||
|
return a;
|
||||||
|
};
|
||||||
|
recurse(0);
|
||||||
|
)")) == 27),
|
||||||
"Fonction récursive",
|
"Fonction récursive",
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
|
_TEST_ASSERT(
|
||||||
|
_TEST_NO_EXCEPTION(get<int>(execute(R"(
|
||||||
|
int x(int a);
|
||||||
|
int y(int a) {
|
||||||
|
return x(a);
|
||||||
|
}
|
||||||
|
int x(int a) {
|
||||||
|
if (a < 75) {
|
||||||
|
return y(a+1);
|
||||||
|
}
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
x(0);
|
||||||
|
)")) == 75),
|
||||||
|
"Fonctions mutuellement récursives",
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user