|
2 | 2 |
|
3 | 3 | #include <Lamscript/runtime/Lamscript.h>
|
4 | 4 |
|
| 5 | +using ::lamscript::runtime::ProgramStatus; |
| 6 | +using ::lamscript::runtime::ProgramResult; |
| 7 | +using ::lamscript::runtime::Lamscript; |
| 8 | + |
5 | 9 | 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); |
7 | 13 | }
|
8 | 14 |
|
9 | 15 | 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); |
11 | 19 | }
|
12 | 20 |
|
13 | 21 | 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); |
15 | 25 | }
|
16 | 26 |
|
17 | 27 | 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); |
19 | 31 | }
|
20 | 32 |
|
21 | 33 | 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); |
23 | 37 | }
|
24 | 38 |
|
25 | 39 | 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); |
27 | 43 | }
|
28 | 44 |
|
29 | 45 | 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); |
31 | 49 | }
|
32 | 50 |
|
33 | 51 | 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); |
35 | 55 | }
|
36 | 56 |
|
37 | 57 | 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); |
39 | 61 | }
|
40 | 62 |
|
41 | 63 | 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); |
43 | 67 | }
|
44 | 68 |
|
45 | 69 | 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); |
47 | 73 | }
|
48 | 74 |
|
49 | 75 | 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); |
51 | 79 | }
|
52 | 80 |
|
53 | 81 | 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); |
55 | 85 | }
|
56 | 86 |
|
57 | 87 | 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); |
59 | 91 | }
|
60 | 92 |
|
61 | 93 | 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); |
63 | 97 | }
|
0 commit comments