Archived
1
0
Fork 0

Implemented missing functions for the interpreter

This commit is contained in:
Julien Dessaux 2021-10-06 22:06:05 +02:00
parent f6bd9fa1a8
commit ba8933937e
6 changed files with 90 additions and 2 deletions

View file

@ -216,3 +216,12 @@ suite "Field":
check dna[].Step((1, 2), (3, 5)) == (4, 7)
check dna[].Step((6, 1), (1, 1)) == (5, 0)
check dna[].Step((1, 4), (-2, 2)) == (5, 0)
test "GetSize":
var minimal = Load("examples/minimal.b98")
var hello = Load("examples/hello.b98")
var hello2 = Load("examples/hello2.b98")
var dna = Load("examples/dna.b98")
check minimal[].GetSize() == (0, 0, 1, 1)
check hello[].GetSize() == (0, 0, 24, 1)
check hello2[].GetSize() == (1, 0, 33, 2)
check dna[].GetSize() == (0, 0, 7, 8)

View file

@ -144,3 +144,6 @@ suite "Stack":
check empty[].Next() == nil
var some = NewStack(next = empty)
check some[].Next() == empty
test "GetHeights":
var empty = NewStack()
check empty[].GetHeights == @[0]

View file

@ -110,3 +110,42 @@ suite "StackStack":
check empty.height == 1
check empty[].Pop() == 1
check empty[].Pop() == 0
test "Under":
var empty = NewStackStack()
empty[].Push(18)
check empty[].Under() == true
check empty[].Pop() == 18
empty[].Push(1)
empty[].Push(2)
empty[].Push(3)
empty[].Push(4)
empty[].Push(5)
empty[].Push(6)
empty[].Push(0)
empty[].Begin((7, 8))
empty[].Push(9)
empty[].Push(0)
check empty[].Under() == false
check empty[].Pop() == 9
empty[].Push(9)
empty[].Push(2)
check empty[].Under() == false
check empty[].Pop() == 7
check empty[].Pop() == 8
check empty[].Pop() == 9
empty[].Push(9)
empty[].Push(10)
empty[].Push(-3)
check empty[].Under() == false
check empty[].Pop() == 0
check empty[].Pop() == 0
check empty[].Pop() == 0
var v: tuple[x, y: int]
check empty[].End(v) == false
check v.x == 9
check v.y == 0
check empty[].Pop() == 10
check empty[].Pop() == 6
test "GetHeights":
var empty = NewStackStack()
check empty[].GetHeights == (1, @[0])