Skip to content

Commit 79960aa

Browse files
committed
Test: fix Assembler tests execution, add test for simple method case.
1 parent 7ae3b11 commit 79960aa

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

Naggum.Test/AssemblerTests.fs

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,32 @@ open Xunit
99
open Naggum.Assembler
1010
open Naggum.Assembler.Representation
1111

12-
let prepare (source : string) =
12+
let checkPreparationResult (source : string) (expected : Assembly list) =
1313
use stream = new MemoryStream(Encoding.UTF8.GetBytes source)
14-
Assembler.prepare "file.ngi" stream
14+
let actual = Assembler.prepare "file.ngi" stream |> Seq.toList
15+
16+
Assert.Equal<Assembly list> (expected, actual)
1517

1618
[<Fact>]
1719
let ``Empty assembly should be processed`` () =
1820
let source = "(.assembly Empty)"
1921
let result = { Name = "Empty"; Units = List.empty }
20-
Assert.Equal ([result], prepare source)
22+
checkPreparationResult source [result]
23+
24+
[<Fact>]
25+
let ``Simplest method should be processed`` () =
26+
let source = "(.assembly Stub
27+
(.method Main () (.entrypoint)
28+
(ret)))
29+
"
30+
let result =
31+
{ Name = "Stub"
32+
Units = [Method { Metadata = Set.singleton EntryPoint
33+
Visibility = Public
34+
Name = "Main"
35+
ReturnType = typeof<Void>
36+
Body = [ Ret ] } ] }
37+
checkPreparationResult source [result]
2138

2239
[<Fact>]
2340
let ``Hello world assembly should be processed`` () =
@@ -36,4 +53,4 @@ let ``Hello world assembly should be processed`` () =
3653
Body = [ Ldstr "Hello, world!"
3754
Call (typeof<Console>.GetMethod("WriteLine", [| typeof<String> |]))
3855
Ret ] } ] }
39-
Assert.Equal ([result], prepare source)
56+
checkPreparationResult source [result]

0 commit comments

Comments
 (0)