Changeset

7507:11e8c605a591

tests: Adapt test for util.queue to the test framework
author Kim Alvefur <zash@zash.se>
date Wed, 20 Jul 2016 17:24:49 +0200
parents 7504:b43cbbbb806f
children 7508:736dea7b99ec
files tests/test.lua tests/test_util_queue.lua
diffstat 2 files changed, 60 insertions(+), 55 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test.lua	Thu Jul 14 18:59:19 2016 +0800
+++ b/tests/test.lua	Wed Jul 20 17:24:49 2016 +0200
@@ -27,6 +27,7 @@
 	dotest "util.random"
 	dotest "util.xml"
 	dotest "util.xmppstream"
+	dotest "util.queue"
 	dotest "net.http.parser"
 
 	dosingletest("test_sasl.lua", "latin1toutf8");
--- a/tests/test_util_queue.lua	Thu Jul 14 18:59:19 2016 +0800
+++ b/tests/test_util_queue.lua	Wed Jul 20 17:24:49 2016 +0200
@@ -1,68 +1,72 @@
-local new = require "util.queue".new;
 
-local q = new(10);
+function new(new)
+	do
+		local q = new(10);
 
-assert(q.size == 10);
-assert(q:count() == 0);
+		assert_equal(q.size, 10);
+		assert_equal(q:count(), 0);
 
-assert(q:push("one"));
-assert(q:push("two"));
-assert(q:push("three"));
+		assert_is(q:push("one"));
+		assert_is(q:push("two"));
+		assert_is(q:push("three"));
 
-for i = 4, 10 do
-	print("pushing "..i)
-	assert(q:push("hello"));
-	assert(q:count() == i, "count is not "..i.."("..q:count()..")");
-end
-assert(q:push("hello") == nil, "queue overfull!");
-assert(q:push("hello") == nil, "queue overfull!");
-assert(q:pop() == "one", "queue item incorrect");
-assert(q:pop() == "two", "queue item incorrect");
-assert(q:push("hello"));
-assert(q:push("hello"));
-assert(q:pop() == "three", "queue item incorrect");
-assert(q:push("hello"));
-assert(q:push("hello") == nil, "queue overfull!");
-assert(q:push("hello") == nil, "queue overfull!");
+		for i = 4, 10 do
+			assert_is(q:push("hello"));
+			assert_equal(q:count(), i, "count is not "..i.."("..q:count()..")");
+		end
+		assert_equal(q:push("hello"), nil, "queue overfull!");
+		assert_equal(q:push("hello"), nil, "queue overfull!");
+		assert_equal(q:pop(), "one", "queue item incorrect");
+		assert_equal(q:pop(), "two", "queue item incorrect");
+		assert_is(q:push("hello"));
+		assert_is(q:push("hello"));
+		assert_equal(q:pop(), "three", "queue item incorrect");
+		assert_is(q:push("hello"));
+		assert_equal(q:push("hello"), nil, "queue overfull!");
+		assert_equal(q:push("hello"), nil, "queue overfull!");
 
-assert(q:count() == 10, "queue count incorrect");
+		assert_equal(q:count(), 10, "queue count incorrect");
 
-for i = 1, 10 do
-	assert(q:pop() == "hello", "queue item incorrect");
-end
+		for _ = 1, 10 do
+			assert_equal(q:pop(), "hello", "queue item incorrect");
+		end
+
+		assert_equal(q:count(), 0, "queue count incorrect");
 
-assert(q:count() == 0, "queue count incorrect");
+		assert_is(q:push(1));
+		for i = 1, 1001 do
+			assert_equal(q:pop(), i);
+			assert_equal(q:count(), 0);
+			assert_is(q:push(i+1));
+			assert_equal(q:count(), 1);
+		end
+		assert_equal(q:pop(), 1002);
+		assert_is(q:push(1));
+		for i = 1, 1000000 do
+			q:pop();
+			q:push(i+1);
+		end
+	end
 
-assert(q:push(1));
-for i = 1, 1001 do
-	assert(q:pop() == i);
-	assert(q:count() == 0);
-	assert(q:push(i+1));
-	assert(q:count() == 1);
-end
-assert(q:pop() == 1002);
-assert(q:push(1));
-for i = 1, 1000000 do
-	q:pop();
-	q:push(i+1);
-end
+	do
+		-- Test queues that purge old items when pushing to a full queue
+		local q = new(10, true);
 
--- Test queues that purge old items when pushing to a full queue
-local q = new(10, true);
+		for i = 1, 10 do
+			q:push(i);
+		end
 
-for i = 1, 10 do
-	q:push(i);
-end
-
-assert(q:count() == 10);
+		assert_equal(q:count(), 10);
 
-assert(q:push(11));
-assert(q:count() == 10);
-assert(q:pop() == 2); -- First item should have been purged
+		assert_is(q:push(11));
+		assert_equal(q:count(), 10);
+		assert_equal(q:pop(), 2); -- First item should have been purged
 
-for i = 12, 32 do
-	assert(q:push(i));
+		for i = 12, 32 do
+			assert_is(q:push(i));
+		end
+
+		assert_equal(q:count(), 10);
+		assert_equal(q:pop(), 23);
+	end
 end
-
-assert(q:count() == 10);
-assert(q:pop() == 23);