From ba8933937e0b24e5a648ec176c4f0b8515fb0e2d Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Wed, 6 Oct 2021 22:06:05 +0200 Subject: Implemented missing functions for the interpreter --- tests/field.nim | 9 +++++++++ tests/stack.nim | 3 +++ tests/stackStack.nim | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) (limited to 'tests') diff --git a/tests/field.nim b/tests/field.nim index e60887a..455d81f 100644 --- a/tests/field.nim +++ b/tests/field.nim @@ -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) diff --git a/tests/stack.nim b/tests/stack.nim index cecdef9..ebbbe5d 100644 --- a/tests/stack.nim +++ b/tests/stack.nim @@ -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] diff --git a/tests/stackStack.nim b/tests/stackStack.nim index 5451d79..8ff3e62 100644 --- a/tests/stackStack.nim +++ b/tests/stackStack.nim @@ -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]) -- cgit v1.2.3