summaryrefslogtreecommitdiff
path: root/Compiler.Testing/SanityTests.cs
blob: 46c03239ec30331c19038bf32d2543b63b0777d4 (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
namespace Compiler.Testing;

using Q1;

[TestFixture]
public class SanityTests
{
    [Test]
    public void BlankProgram()
    {
        string program = """
                         int main() { }
                         """;

        string result = TestingHelpers.CompileString(program).Trim();
        Assert.That(
            result, Is.EqualTo(
                """
                jmp _main
                _main:
                    mov 0, V0
                    ret
                """));
    }

    [Test]
    public void ReturnConstant()
    {
        string program = """
                         int main() { return 42; }
                         """;

        string result = TestingHelpers.CompileString(program).Trim();
        Assert.That(
            result, Is.EqualTo(
                """
                jmp _main
                _main:
                    mov 42, V0
                    ret
                """));
    }
}