Skip to content

Commit d7bfeaa

Browse files
committed
[update] the example test runner to check the programs status and return code.
1 parent 19f2e8f commit d7bfeaa

File tree

1 file changed

+49
-15
lines changed

1 file changed

+49
-15
lines changed

tests/Examples-test.cpp

+49-15
Original file line numberDiff line numberDiff line change
@@ -2,62 +2,96 @@
22

33
#include <Lamscript/runtime/Lamscript.h>
44

5+
using ::lamscript::runtime::ProgramStatus;
6+
using ::lamscript::runtime::ProgramResult;
7+
using ::lamscript::runtime::Lamscript;
8+
59
TEST(Examples, AnonymousClasses) {
6-
::lamscript::runtime::Lamscript::RunFile("examples/anonymous.ls");
10+
ProgramResult result = Lamscript::RunFile("examples/anonymous.ls");
11+
ASSERT_EQ(result.Status, ProgramStatus::Success);
12+
EXPECT_EQ(result.ReturnCode, 0);
713
}
814

915
TEST(Examples, Blocks) {
10-
::lamscript::runtime::Lamscript::RunFile("examples/blocks.ls");
16+
ProgramResult result = Lamscript::RunFile("examples/blocks.ls");
17+
ASSERT_EQ(result.Status, ProgramStatus::Success);
18+
EXPECT_EQ(result.ReturnCode, 0);
1119
}
1220

1321
TEST(Examples, Classes) {
14-
::lamscript::runtime::Lamscript::RunFile("examples/class.ls");
22+
ProgramResult result = Lamscript::RunFile("examples/class.ls");
23+
ASSERT_EQ(result.Status, ProgramStatus::Success);
24+
EXPECT_EQ(result.ReturnCode, 0);
1525
}
1626

1727
TEST(Examples, Closures) {
18-
::lamscript::runtime::Lamscript::RunFile("examples/closure.ls");
28+
ProgramResult result = Lamscript::RunFile("examples/closure.ls");
29+
ASSERT_EQ(result.Status, ProgramStatus::Success);
30+
EXPECT_EQ(result.ReturnCode, 0);
1931
}
2032

2133
TEST(Examples, Conditionals) {
22-
::lamscript::runtime::Lamscript::RunFile("examples/conditionals.ls");
34+
ProgramResult result = Lamscript::RunFile("examples/conditionals.ls");
35+
ASSERT_EQ(result.Status, ProgramStatus::Success);
36+
EXPECT_EQ(result.ReturnCode, 0);
2337
}
2438

2539
TEST(Examples, Functions) {
26-
::lamscript::runtime::Lamscript::RunFile("examples/func.ls");
40+
ProgramResult result = Lamscript::RunFile("examples/func.ls");
41+
ASSERT_EQ(result.Status, ProgramStatus::Success);
42+
EXPECT_EQ(result.ReturnCode, 0);
2743
}
2844

2945
TEST(Examples, Getters) {
30-
::lamscript::runtime::Lamscript::RunFile("examples/getters.ls");
46+
ProgramResult result = Lamscript::RunFile("examples/getters.ls");
47+
ASSERT_EQ(result.Status, ProgramStatus::Success);
48+
EXPECT_EQ(result.ReturnCode, 0);
3149
}
3250

3351
TEST(Examples, ClassInheritance) {
34-
::lamscript::runtime::Lamscript::RunFile("examples/inheritance.ls");
52+
ProgramResult result = Lamscript::RunFile("examples/inheritance.ls");
53+
ASSERT_EQ(result.Status, ProgramStatus::Success);
54+
EXPECT_EQ(result.ReturnCode, 0);
3555
}
3656

3757
TEST(Examples, LogicalOperators) {
38-
::lamscript::runtime::Lamscript::RunFile("examples/logical.ls");
58+
ProgramResult result = Lamscript::RunFile("examples/logical.ls");
59+
ASSERT_EQ(result.Status, ProgramStatus::Success);
60+
EXPECT_EQ(result.ReturnCode, 0);
3961
}
4062

4163
TEST(Examples, Loops) {
42-
::lamscript::runtime::Lamscript::RunFile("examples/loops.ls");
64+
ProgramResult result = Lamscript::RunFile("examples/loops.ls");
65+
ASSERT_EQ(result.Status, ProgramStatus::Success);
66+
EXPECT_EQ(result.ReturnCode, 0);
4367
}
4468

4569
TEST(Examples, MathOperators) {
46-
::lamscript::runtime::Lamscript::RunFile("examples/math.ls");
70+
ProgramResult result = Lamscript::RunFile("examples/math.ls");
71+
ASSERT_EQ(result.Status, ProgramStatus::Success);
72+
EXPECT_EQ(result.ReturnCode, 0);
4773
}
4874

4975
TEST(Examples, PrintStatement) {
50-
::lamscript::runtime::Lamscript::RunFile("examples/print.ls");
76+
ProgramResult result = Lamscript::RunFile("examples/print.ls");
77+
ASSERT_EQ(result.Status, ProgramStatus::Success);
78+
EXPECT_EQ(result.ReturnCode, 0);
5179
}
5280

5381
TEST(Examples, Recursion) {
54-
::lamscript::runtime::Lamscript::RunFile("examples/recursion.ls");
82+
ProgramResult result = Lamscript::RunFile("examples/recursion.ls");
83+
ASSERT_EQ(result.Status, ProgramStatus::Success);
84+
EXPECT_EQ(result.ReturnCode, 0);
5585
}
5686

5787
TEST(Examples, SuperExpression) {
58-
::lamscript::runtime::Lamscript::RunFile("examples/super.ls");
88+
ProgramResult result = Lamscript::RunFile("examples/super.ls");
89+
ASSERT_EQ(result.Status, ProgramStatus::Success);
90+
EXPECT_EQ(result.ReturnCode, 0);
5991
}
6092

6193
TEST(Examples, Variables) {
62-
::lamscript::runtime::Lamscript::RunFile("examples/variable.ls");
94+
ProgramResult result = Lamscript::RunFile("examples/variable.ls");
95+
ASSERT_EQ(result.Status, ProgramStatus::Success);
96+
EXPECT_EQ(result.ReturnCode, 0);
6397
}

0 commit comments

Comments
 (0)