summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/std/test_queue.zc14
-rw-r--r--tests/std/test_stack.zc14
2 files changed, 28 insertions, 0 deletions
diff --git a/tests/std/test_queue.zc b/tests/std/test_queue.zc
index 4d40c42..131eb05 100644
--- a/tests/std/test_queue.zc
+++ b/tests/std/test_queue.zc
@@ -28,6 +28,20 @@ test "Queue Push/Pop" {
assert(v.is_none(), "v should not have a valid value");
}
+test "Queue Length and Clear" {
+ print "Testing Queue clear";
+ var queue = Queue<i32>::new();
+ defer queue.free();
+
+ assert(queue.is_empty() && queue.length() == 0, "queue should be empty");
+
+ queue.push(123);
+ assert(!queue.is_empty() && queue.length() == 1, "queue should have 1 value");
+
+ queue.clear();
+ assert(queue.is_empty() && queue.length() == 0, "queue should be empty");
+}
+
test "Queue Clone" {
print "Testing Queue Cloning";
var queue = Queue<i32>::new();
diff --git a/tests/std/test_stack.zc b/tests/std/test_stack.zc
index ecc9d3c..03e51a4 100644
--- a/tests/std/test_stack.zc
+++ b/tests/std/test_stack.zc
@@ -28,6 +28,20 @@ test "Stack Push/Pop" {
assert(v.is_none(), "v should not have a valid value");
}
+test "Stack Length and Clear" {
+ print "Testing Stack clear";
+ var stack = Stack<i32>::new();
+ defer stack.free();
+
+ assert(stack.is_empty() && stack.length() == 0, "Stack should be empty");
+
+ stack.push(123);
+ assert(!stack.is_empty() && stack.length() == 1, "Stack should have 1 value");
+
+ stack.clear();
+ assert(stack.is_empty() && stack.length() == 0, "Stack should be empty");
+}
+
test "Stack Clone" {
print "Testing Stack Cloning";
var stack = Stack<i32>::new();