Implemented missing functions for the interpreter
This commit is contained in:
parent
f6bd9fa1a8
commit
ba8933937e
6 changed files with 90 additions and 2 deletions
|
@ -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)
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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])
|
||||
|
|
Reference in a new issue