Don't use non existing myerror()
[lunit.git] / lunit-tests.lua
blob5ecd2a994e858acaf5635ca87075101c4d3a3bdd
2 --[[--------------------------------------------------------------------------
4 This file is part of lunit 0.4.
6 For Details about lunit look at: http://www.mroth.net/lunit/
8 Author: Michael Roth <mroth@nessie.de>
10 Copyright (c) 2004, 2006-2008 Michael Roth <mroth@nessie.de>
12 Permission is hereby granted, free of charge, to any person
13 obtaining a copy of this software and associated documentation
14 files (the "Software"), to deal in the Software without restriction,
15 including without limitation the rights to use, copy, modify, merge,
16 publish, distribute, sublicense, and/or sell copies of the Software,
17 and to permit persons to whom the Software is furnished to do so,
18 subject to the following conditions:
20 The above copyright notice and this permission notice shall be
21 included in all copies or substantial portions of the Software.
23 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
26 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
27 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
28 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
29 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31 --]]--------------------------------------------------------------------------
34 require "lunit"
37 local a_number = 123
38 local a_string = "A string"
39 local a_table = { }
40 local a_function = function() end
41 local a_thread = coroutine.create(function() end)
43 local pcall = pcall
44 local error = error
45 local pairs = pairs
46 local ipairs = ipairs
48 local module = module
52 module( "lunit-tests.interface", lunit.testcase )
54 function test()
55 local funcnames = {
56 "main", "run", "runtest", "testcase", "testcases", "tests", "setupname",
57 "teardownname", "loadrunner", "setrunner", "loadonly",
58 "assert", "assert_true", "assert_false", "assert_equal", "assert_not_equal",
59 "assert_match", "assert_not_match", "assert_nil", "assert_not_nil",
60 "assert_boolean", "assert_not_boolean", "assert_number", "assert_not_number",
61 "assert_string", "assert_not_string", "assert_table", "assert_not_table",
62 "assert_function", "assert_not_function", "assert_thread", "assert_not_thread",
63 "assert_userdata", "assert_not_userdata", "assert_pass", "assert_error",
64 "fail", "clearstats",
65 "is_nil", "is_boolean", "is_number", "is_string", "is_table", "is_function",
66 "is_thread", "is_userdata"
69 for _, funcname in ipairs(funcnames) do
70 assert_function( lunit[funcname], "Public function missing: "..funcname )
71 end
73 assert_table( lunit.stats, "Statistic table missing" )
76 local map = {}
77 for _, name in ipairs(funcnames) do
78 map[name] = true
79 end
80 for _, name in ipairs{"lunit", "_PACKAGE", "_M", "_NAME", "stats"} do
81 map[name] = true
82 end
83 for name, _ in pairs(lunit) do
84 assert( map[name], "Invalid public variable: lunit."..name )
85 end
86 end
87 end
91 -- We must assume that errors thrown by test functions are detected. We use
92 -- the stdlib error() function to signal errors instead of fail().
93 module( "lunit-tests.basics", lunit.testcase )
95 function test_fail()
96 local ok, errmsg
98 ok, errmsg = pcall(function() fail() end)
99 if ok then
100 error("fail() doesn't fail!")
103 ok, errmsg = pcall(function() fail("A message") end)
104 if ok then
105 error("fail(\"A message\") doesn't fail!")
109 function test_assert_error()
110 local ok, errmsg
112 ok, errmsg = pcall(function() assert_error(function() error("Error!") end) end)
113 if not ok then
114 error("assert_error( <error> ) doesn't work!")
117 ok, errmsg = pcall(function() assert_error("A message", function() error("Error") end) end)
118 if not ok then
119 error("assert_error(\"A message\", <error>) doesn't work!")
122 ok, errmsg = pcall(function() assert_error(function() end) end)
123 if ok then
124 error("assert_error( <no error> ) doesn't fail!")
127 ok, errmsg = pcall(function() assert_error("A Message", function() end) end)
128 if ok then
129 error("assert_error(\"A message\", <no error>) doesn't fail!")
133 function test_assert_pass()
134 local ok, errmsg
136 ok, errmsg = pcall(function() assert_pass(function() error("Error!") end) end)
137 if ok then
138 error("assert_pass( <error> ) doesn't fail!")
141 ok, errmsg = pcall(function() assert_pass("A message", function() error("Error") end) end)
142 if ok then
143 error("assert_pass(\"A message\", <error>) doesn't fail!")
146 ok, errmsg = pcall(function() assert_pass(function() end) end)
147 if not ok then
148 error("assert_pass( <no error> ) doesn't work!")
151 ok, errmsg = pcall(function() assert_pass("A Message", function() end) end)
152 if not ok then
153 error("assert_pass(\"A message\", <no error>) doesn't work!")
157 function test_assert_true()
158 assert_pass("assert_true(true) doesn't work!", function() assert_true(true) end)
159 assert_pass("assert_true(true, \"A message\" doesn't work!", function() assert_true(true, "A Message") end)
160 assert_error("assert_true(false) doesn't fail!", function() assert_true(false) end)
161 assert_error("assert_true(false, \"A message\" doesn't fail!", function() assert_true(false, "A Message") end)
164 function test_assert_false()
165 assert_pass("assert_false(false) doesn't work!", function() assert_false(false) end)
166 assert_pass("assert_false(false, \"A message\" doesn't work!", function() assert_false(false, "A Message") end)
167 assert_error("assert_false(true) doesn't fail!", function() assert_false(true) end)
168 assert_error("assert_false(true, \"A message\" doesn't fail!", function() assert_false(true, "A Message") end)
171 function test_assert()
172 assert_pass("assert(true) doesn't work!", function() assert(true) end)
173 assert_pass("assert(12345) doesn't work!", function() assert(12345) end)
174 assert_pass("assert(\"A string\") doesn't work!", function() assert("A string") end)
175 assert_pass("assert( {} ) doesn't work!", function() assert( {} ) end)
176 assert_error("assert_(false) doesn't fail!", function() assert(false) end)
177 assert_error("assert_(nil) doesn't fail!", function() assert(nil) end)
180 function test_assert_equal()
182 assert_pass("assert_equal(\"A String\", \"A String\") doesn't work!", function()
183 local a_string = assert_equal("A String", "A String")
184 assert_true("A String" == a_string)
185 end)
187 assert_pass("assert_equal(\"A String\", \"A String\", \"A message\") doesn't work!", function()
188 local a_string = assert_equal("A String", "A String", "A message")
189 assert_true("A String" == a_string)
190 end)
192 assert_pass("assert_equal(12345, 12345) doesn't work!", function()
193 local a_number = assert_equal(12345, 12345)
194 assert_true(12345 == a_number)
195 end)
197 assert_pass("assert_equal(12345, 12345, \"A message\") doesn't work!", function()
198 local a_number = assert_equal(12345, 12345, "A message")
199 assert_true(12345 == a_number)
200 end)
202 assert_pass("assert_equal(nil, nil) doesn't work!", function()
203 local a_nil = assert_equal(nil, nil)
204 assert_true(nil == a_nil)
205 end)
207 assert_pass("assert_equal(12345, 12345, \"A message\") doesn't work!", function()
208 local a_nil = assert_equal(nil, nil, "A message")
209 assert_true(nil == a_nil)
210 end)
212 assert_pass("assert_equal(false, false) doesn't work!", function()
213 local a_false = assert_equal(false, false)
214 assert_true(false == a_false)
215 end)
217 assert_pass("assert_equal(false, false, \"A message\") doesn't work!", function()
218 local a_false = assert_equal(false, false, "A message")
219 assert_true(false == a_false)
220 end)
222 assert_pass("assert_equal(true, true) doesn't work!", function()
223 local a_true = assert_equal(true, true)
224 assert_true(true == a_true)
225 end)
227 assert_pass("assert_equal(true, true, \"A message\") doesn't work!", function()
228 local a_true = assert_equal(true, true, "A message")
229 assert_true(true == a_true)
230 end)
232 assert_error("assert_equal(\"A String\", \"Another String\") doesn't fail!", function()
233 assert_equal("A String", "Another String")
234 end)
236 assert_error("assert_equal(\"A String\", \"Another String\", \"A message\") doesn't fail!", function()
237 assert_equal("A String", "Another String", "A message")
238 end)
240 assert_error("assert_equal(123, 456) doesn't fail!", function()
241 assert_equal(123, 456)
242 end)
244 assert_error("assert_equal(123, 456) \"A message\") doesn't fail!", function()
245 assert_equal(123, 456, "A message")
246 end)
248 assert_error("assert_equal(true, false) doesn't fail!", function()
249 assert_equal(true, false)
250 end)
252 assert_error("assert_equal(true, false) \"A message\") doesn't fail!", function()
253 assert_equal(true, false, "A message")
254 end)
256 assert_error("assert_equal(true, nil) doesn't fail!", function()
257 assert_equal(true, nil)
258 end)
260 assert_error("assert_equal(true, nil) \"A message\") doesn't fail!", function()
261 assert_equal(true, nil, "A message")
262 end)
264 assert_error("assert_equal(false, true) doesn't fail!", function()
265 assert_equal(false, true)
266 end)
268 assert_error("assert_equal(false, true, \"A message\") doesn't fail!", function()
269 assert_equal(false, true, "A message")
270 end)
272 assert_error("assert_equal(false, nil) doesn't fail!", function()
273 assert_equal(false, nil)
274 end)
276 assert_error("assert_equal(false, nil) \"A message\") doesn't fail!", function()
277 assert_equal(false, nil, "A message")
278 end)
280 assert_error("assert_equal(nil, true) doesn't fail!", function()
281 assert_equal(nil, true)
282 end)
284 assert_error("assert_equal(nil, true) \"A message\") doesn't fail!", function()
285 assert_equal(nil, true, "A message")
286 end)
288 assert_error("assert_equal(nil, false) doesn't fail!", function()
289 assert_equal(nil, false)
290 end)
292 assert_error("assert_equal(nil, false) \"A message\") doesn't fail!", function()
293 assert_equal(nil, false, "A message")
294 end)
299 function test_assert_not_equal()
301 assert_pass("assert_not_equal(\"A String\", \"Another String\") doesn't work!", function()
302 local a_string = assert_not_equal("A String", "Another String")
303 assert_true("Another String" == a_string)
304 end)
306 assert_pass("assert_not_equal(\"A String\", \"Another String\", \"A message\") doesn't work!", function()
307 local a_string = assert_not_equal("A String", "Another String", "A message")
308 assert_true("Another String" == a_string)
309 end)
311 assert_pass("assert_not_equal(123, 456) doesn't work!", function()
312 local a_number = assert_not_equal(123, 456)
313 assert_true(456 == a_number)
314 end)
316 assert_pass("assert_not_equal(123, 456, \"A message\") doesn't work!", function()
317 local a_number = assert_not_equal(123, 456, "A message")
318 assert_true(456 == a_number)
319 end)
321 assert_pass("assert_not_equal(true, false) doesn't work!", function()
322 local a_false = assert_not_equal(true, false)
323 assert_true(false == a_false)
324 end)
326 assert_pass("assert_not_equal(true, false) \"A message\") doesn't work!", function()
327 local a_false = assert_not_equal(true, false, "A message")
328 assert_true(false == a_false)
329 end)
331 assert_pass("assert_not_equal(true, nil) doesn't work!", function()
332 local a_nil = assert_not_equal(true, nil)
333 assert_true(nil == a_nil)
334 end)
336 assert_pass("assert_not_equal(true, nil) \"A message\") doesn't work!", function()
337 local a_nil = assert_not_equal(true, nil, "A message")
338 assert_true(nil == a_nil)
339 end)
341 assert_pass("assert_not_equal(false, true) doesn't work!", function()
342 local a_true = assert_not_equal(false, true)
343 assert_true(true == a_true)
344 end)
346 assert_pass("assert_not_equal(false, true, \"A message\") doesn't work!", function()
347 local a_true = assert_not_equal(false, true, "A message")
348 assert_true(true == a_true)
349 end)
351 assert_pass("assert_not_equal(false, nil) doesn't work!", function()
352 local a_nil = assert_not_equal(false, nil)
353 assert_true(nil == a_nil)
354 end)
356 assert_pass("assert_not_equal(false, nil) \"A message\") doesn't work!", function()
357 local a_nil = assert_not_equal(false, nil, "A message")
358 assert_true(nil == a_nil)
359 end)
361 assert_pass("assert_not_equal(nil, true) doesn't work!", function()
362 local a_true = assert_not_equal(nil, true)
363 assert_true(true == a_true)
364 end)
366 assert_pass("assert_not_equal(nil, true) \"A message\") doesn't work!", function()
367 local a_true = assert_not_equal(nil, true, "A message")
368 assert_true(true == a_true)
369 end)
371 assert_pass("assert_not_equal(nil, false) doesn't work!", function()
372 local a_false = assert_not_equal(nil, false)
373 assert_true(false == a_false)
374 end)
376 assert_pass("assert_not_equal(nil, false) \"A message\") doesn't work!", function()
377 local a_false = assert_not_equal(nil, false, "A message")
378 assert_true(false == a_false)
379 end)
381 assert_error("assert_not_equal(\"A String\", \"A String\") doesn't work!", function()
382 assert_not_equal("A String", "A String")
383 end)
385 assert_error("assert_not_equal(\"A String\", \"A String\", \"A message\") doesn't fail!", function()
386 assert_not_equal("A String", "A String", "A message")
387 end)
389 assert_error("assert_not_equal(12345, 12345) doesn't fail!", function()
390 assert_not_equal(12345, 12345)
391 end)
393 assert_error("assert_not_equal(12345, 12345, \"A message\") doesn't fail!", function()
394 assert_not_equal(12345, 12345, "A message")
395 end)
397 assert_error("assert_not_equal(nil, nil) doesn't fail!", function()
398 assert_not_equal(nil, nil)
399 end)
401 assert_error("assert_not_equal(nil, nil, \"A message\") doesn't fail!", function()
402 assert_not_equal(nil, nil, "A message")
403 end)
405 assert_error("assert_not_equal(false, false) doesn't fail!", function()
406 assert_not_equal(false, false)
407 end)
409 assert_error("assert_not_equal(false, false, \"A message\") doesn't fail!", function()
410 assert_not_equal(false, false, "A message")
411 end)
413 assert_error("assert_not_equal(true, true) doesn't fail!", function()
414 assert_not_equal(true, true)
415 end)
417 assert_error("assert_not_equal(true, true, \"A message\") doesn't fail!", function()
418 assert_not_equal(true, true, "A message")
419 end)
425 module( "lunit-tests.is_xyz", lunit.testcase )
427 function test_is_nil()
428 assert_true( is_nil(nil) )
429 assert_false( is_nil(true) )
430 assert_false( is_nil(false) )
431 assert_false( is_nil(a_number) )
432 assert_false( is_nil(a_string) )
433 assert_false( is_nil(a_table) )
434 assert_false( is_nil(a_function) )
435 assert_false( is_nil(a_thread) )
438 function test_is_boolean()
439 assert_true( is_boolean(false) )
440 assert_true( is_boolean(true) )
441 assert_false( is_boolean(nil) )
442 assert_false( is_boolean(a_number) )
443 assert_false( is_boolean(a_string) )
444 assert_false( is_boolean(a_table) )
445 assert_false( is_boolean(a_function) )
446 assert_false( is_boolean(a_thread) )
449 function test_is_number()
450 assert_true( is_number(a_number) )
451 assert_false( is_number(nil) )
452 assert_false( is_number(true) )
453 assert_false( is_number(false) )
454 assert_false( is_number(a_string) )
455 assert_false( is_number(a_table) )
456 assert_false( is_number(a_function) )
457 assert_false( is_number(a_thread) )
460 function test_is_string()
461 assert_true( is_string(a_string) )
462 assert_false( is_string(nil) )
463 assert_false( is_string(true) )
464 assert_false( is_string(false) )
465 assert_false( is_string(a_number) )
466 assert_false( is_string(a_table) )
467 assert_false( is_string(a_function) )
468 assert_false( is_string(a_thread) )
471 function test_is_table()
472 assert_true( is_table(a_table) )
473 assert_false( is_table(nil) )
474 assert_false( is_table(true) )
475 assert_false( is_table(false) )
476 assert_false( is_table(a_number) )
477 assert_false( is_table(a_string) )
478 assert_false( is_table(a_function) )
479 assert_false( is_table(a_thread) )
482 function test_is_function()
483 assert_true( is_function(a_function) )
484 assert_false( is_function(nil) )
485 assert_false( is_function(true) )
486 assert_false( is_function(false) )
487 assert_false( is_function(a_number) )
488 assert_false( is_function(a_string) )
489 assert_false( is_function(a_table) )
490 assert_false( is_function(a_thread) )
493 function test_is_thread()
494 assert_true( is_thread(a_thread) )
495 assert_false( is_thread(nil) )
496 assert_false( is_thread(true) )
497 assert_false( is_thread(false) )
498 assert_false( is_thread(a_number) )
499 assert_false( is_thread(a_string) )
500 assert_false( is_thread(a_table) )
501 assert_false( is_thread(a_function) )
506 module( "lunit-tests.assert_not_xyz", lunit.testcase )
508 function test_assert_not_nil()
509 assert_not_nil( true )
510 assert_not_nil( false )
511 assert_not_nil( a_number )
512 assert_not_nil( a_string )
513 assert_not_nil( a_table )
514 assert_not_nil( a_function )
515 assert_not_nil( a_thread )
517 assert_not_nil( true, "A message")
518 assert_not_nil( false, "A message")
519 assert_not_nil( a_number, "A message")
520 assert_not_nil( a_string, "A message")
521 assert_not_nil( a_table, "A message")
522 assert_not_nil( a_function, "A message")
523 assert_not_nil( a_thread, "A message")
525 assert_error(function() assert_not_nil(nil) end)
526 assert_error(function() assert_not_nil(nil, "A message") end)
529 function test_assert_not_boolean()
530 assert_not_boolean( nil )
531 assert_not_boolean( a_number )
532 assert_not_boolean( a_string )
533 assert_not_boolean( a_table )
534 assert_not_boolean( a_function )
535 assert_not_boolean( a_thread )
537 assert_not_boolean( nil, "A message")
538 assert_not_boolean( a_number, "A message")
539 assert_not_boolean( a_string, "A message")
540 assert_not_boolean( a_table, "A message")
541 assert_not_boolean( a_function, "A message")
542 assert_not_boolean( a_thread, "A message")
544 assert_error(function() assert_not_boolean(true) end)
545 assert_error(function() assert_not_boolean(true, "A message") end)
546 assert_error(function() assert_not_boolean(false) end)
547 assert_error(function() assert_not_boolean(false, "A message") end)
550 function test_assert_not_number()
551 assert_not_number( nil )
552 assert_not_number( true )
553 assert_not_number( false )
554 assert_not_number( a_string )
555 assert_not_number( a_table )
556 assert_not_number( a_function )
557 assert_not_number( a_thread )
559 assert_not_number( nil, "A message")
560 assert_not_number( true, "A message")
561 assert_not_number( false, "A message")
562 assert_not_number( a_string, "A message")
563 assert_not_number( a_table, "A message")
564 assert_not_number( a_function, "A message")
565 assert_not_number( a_thread, "A message")
567 assert_error(function() assert_not_number(a_number) end)
568 assert_error(function() assert_not_number(a_number, "A message") end)
571 function test_assert_not_string()
572 assert_not_string( nil )
573 assert_not_string( true )
574 assert_not_string( false )
575 assert_not_string( a_number )
576 assert_not_string( a_table )
577 assert_not_string( a_function )
578 assert_not_string( a_thread )
580 assert_not_string( nil, "A message")
581 assert_not_string( true, "A message")
582 assert_not_string( false, "A message")
583 assert_not_string( a_number, "A message")
584 assert_not_string( a_table, "A message")
585 assert_not_string( a_function, "A message")
586 assert_not_string( a_thread, "A message")
588 assert_error(function() assert_not_string(a_string) end)
589 assert_error(function() assert_not_string(a_string, "A message") end)
592 function test_assert_not_table()
593 assert_not_table( nil )
594 assert_not_table( true )
595 assert_not_table( false )
596 assert_not_table( a_number )
597 assert_not_table( a_string )
598 assert_not_table( a_function )
599 assert_not_table( a_thread )
601 assert_not_table( nil, "A message")
602 assert_not_table( true, "A message")
603 assert_not_table( false, "A message")
604 assert_not_table( a_number, "A message")
605 assert_not_table( a_string, "A message")
606 assert_not_table( a_function, "A message")
607 assert_not_table( a_thread, "A message")
609 assert_error(function() assert_not_table(a_table) end)
610 assert_error(function() assert_not_table(a_table, "A message") end)
613 function test_assert_not_function()
614 assert_not_function( nil )
615 assert_not_function( true )
616 assert_not_function( false )
617 assert_not_function( a_number )
618 assert_not_function( a_string )
619 assert_not_function( a_table )
620 assert_not_function( a_thread )
622 assert_not_function( nil, "A message")
623 assert_not_function( true, "A message")
624 assert_not_function( false, "A message")
625 assert_not_function( a_number, "A message")
626 assert_not_function( a_string, "A message")
627 assert_not_function( a_table, "A message")
628 assert_not_function( a_thread, "A message")
630 assert_error(function() assert_not_function(a_function) end)
631 assert_error(function() assert_not_function(a_function, "A message") end)
634 function test_assert_not_thread()
635 assert_not_thread( nil )
636 assert_not_thread( true )
637 assert_not_thread( false )
638 assert_not_thread( a_number )
639 assert_not_thread( a_string )
640 assert_not_thread( a_table )
641 assert_not_thread( a_function )
643 assert_not_thread( nil, "A message")
644 assert_not_thread( true, "A message")
645 assert_not_thread( false, "A message")
646 assert_not_thread( a_number, "A message")
647 assert_not_thread( a_string, "A message")
648 assert_not_thread( a_table, "A message")
649 assert_not_thread( a_function, "A message")
651 assert_error(function() assert_not_thread(a_thread) end)
652 assert_error(function() assert_not_thread(a_thread, "A message") end)
657 module( "lunit-tests.assert_xyz", lunit.testcase )
659 function test_assert_nil()
660 assert_nil( nil )
661 assert_nil( nil, "A message" )
663 assert_error( function() assert_nil( true ) end)
664 assert_error( function() assert_nil( false ) end)
665 assert_error( function() assert_nil( a_number ) end)
666 assert_error( function() assert_nil( a_string ) end)
667 assert_error( function() assert_nil( a_table ) end)
668 assert_error( function() assert_nil( a_function ) end)
669 assert_error( function() assert_nil( a_thread ) end)
671 assert_error( function() assert_nil( true, "A message" ) end)
672 assert_error( function() assert_nil( false, "A message" ) end)
673 assert_error( function() assert_nil( a_number, "A message" ) end)
674 assert_error( function() assert_nil( a_string, "A message" ) end)
675 assert_error( function() assert_nil( a_table, "A message" ) end)
676 assert_error( function() assert_nil( a_function, "A message" ) end)
677 assert_error( function() assert_nil( a_thread, "A message" ) end)
680 function test_assert_boolean()
681 assert_boolean( true )
682 assert_boolean( false )
683 assert_boolean( true, "A message" )
684 assert_boolean( false, "A message" )
686 assert_error( function() assert_boolean( nil ) end)
687 assert_error( function() assert_boolean( a_number ) end)
688 assert_error( function() assert_boolean( a_string ) end)
689 assert_error( function() assert_boolean( a_table ) end)
690 assert_error( function() assert_boolean( a_function ) end)
691 assert_error( function() assert_boolean( a_thread ) end)
693 assert_error( function() assert_boolean( nil, "A message" ) end)
694 assert_error( function() assert_boolean( a_number, "A message" ) end)
695 assert_error( function() assert_boolean( a_string, "A message" ) end)
696 assert_error( function() assert_boolean( a_table, "A message" ) end)
697 assert_error( function() assert_boolean( a_function, "A message" ) end)
698 assert_error( function() assert_boolean( a_thread, "A message" ) end)
701 function test_assert_number()
702 assert_number( a_number )
703 assert_number( a_number, "A message" )
705 assert_error( function() assert_number( nil ) end)
706 assert_error( function() assert_number( true ) end)
707 assert_error( function() assert_number( false ) end)
708 assert_error( function() assert_number( a_string ) end)
709 assert_error( function() assert_number( a_table ) end)
710 assert_error( function() assert_number( a_function ) end)
711 assert_error( function() assert_number( a_thread ) end)
713 assert_error( function() assert_number( nil, "A message" ) end)
714 assert_error( function() assert_number( true, "A message" ) end)
715 assert_error( function() assert_number( false, "A message" ) end)
716 assert_error( function() assert_number( a_string, "A message" ) end)
717 assert_error( function() assert_number( a_table, "A message" ) end)
718 assert_error( function() assert_number( a_function, "A message" ) end)
719 assert_error( function() assert_number( a_thread, "A message" ) end)
722 function test_assert_string()
723 assert_string( a_string )
724 assert_string( a_string, "A message" )
726 assert_error( function() assert_string( nil ) end)
727 assert_error( function() assert_string( true ) end)
728 assert_error( function() assert_string( false ) end)
729 assert_error( function() assert_string( a_number ) end)
730 assert_error( function() assert_string( a_table ) end)
731 assert_error( function() assert_string( a_function ) end)
732 assert_error( function() assert_string( a_thread ) end)
734 assert_error( function() assert_string( nil, "A message" ) end)
735 assert_error( function() assert_string( true, "A message" ) end)
736 assert_error( function() assert_string( false, "A message" ) end)
737 assert_error( function() assert_string( a_number, "A message" ) end)
738 assert_error( function() assert_string( a_table, "A message" ) end)
739 assert_error( function() assert_string( a_function, "A message" ) end)
740 assert_error( function() assert_string( a_thread, "A message" ) end)
743 function test_assert_table()
744 assert_table( a_table )
745 assert_table( a_table, "A message" )
747 assert_error( function() assert_table( nil ) end)
748 assert_error( function() assert_table( true ) end)
749 assert_error( function() assert_table( false ) end)
750 assert_error( function() assert_table( a_number ) end)
751 assert_error( function() assert_table( a_string ) end)
752 assert_error( function() assert_table( a_function ) end)
753 assert_error( function() assert_table( a_thread ) end)
755 assert_error( function() assert_table( nil, "A message" ) end)
756 assert_error( function() assert_table( true, "A message" ) end)
757 assert_error( function() assert_table( false, "A message" ) end)
758 assert_error( function() assert_table( a_number, "A message" ) end)
759 assert_error( function() assert_table( a_string, "A message" ) end)
760 assert_error( function() assert_table( a_function, "A message" ) end)
761 assert_error( function() assert_table( a_thread, "A message" ) end)
764 function test_assert_function()
765 assert_function( a_function )
766 assert_function( a_function, "A message" )
768 assert_error( function() assert_function( nil ) end)
769 assert_error( function() assert_function( true ) end)
770 assert_error( function() assert_function( false ) end)
771 assert_error( function() assert_function( a_number ) end)
772 assert_error( function() assert_function( a_string ) end)
773 assert_error( function() assert_function( a_table ) end)
774 assert_error( function() assert_function( a_thread ) end)
776 assert_error( function() assert_function( nil, "A message" ) end)
777 assert_error( function() assert_function( true, "A message" ) end)
778 assert_error( function() assert_function( false, "A message" ) end)
779 assert_error( function() assert_function( a_number, "A message" ) end)
780 assert_error( function() assert_function( a_string, "A message" ) end)
781 assert_error( function() assert_function( a_table, "A message" ) end)
782 assert_error( function() assert_function( a_thread, "A message" ) end)
785 function test_assert_thread()
786 assert_thread( a_thread )
787 assert_thread( a_thread, "A message" )
789 assert_error( function() assert_thread( nil ) end)
790 assert_error( function() assert_thread( true ) end)
791 assert_error( function() assert_thread( false ) end)
792 assert_error( function() assert_thread( a_number ) end)
793 assert_error( function() assert_thread( a_string ) end)
794 assert_error( function() assert_thread( a_table ) end)
795 assert_error( function() assert_thread( a_function ) end)
797 assert_error( function() assert_thread( nil, "A message" ) end)
798 assert_error( function() assert_thread( true, "A message" ) end)
799 assert_error( function() assert_thread( false, "A message" ) end)
800 assert_error( function() assert_thread( a_number, "A message" ) end)
801 assert_error( function() assert_thread( a_string, "A message" ) end)
802 assert_error( function() assert_thread( a_table, "A message" ) end)
803 assert_error( function() assert_thread( a_function, "A message" ) end)
809 module( "lunit-tests.match", lunit.testcase )
811 function test_assert_match()
813 assert_pass("assert_match(\"^Hello\", \"Hello World\") doesn't work!", function()
814 local a_string = assert_match("^Hello", "Hello World")
815 assert_equal("Hello World", a_string)
816 end)
818 assert_pass("assert_match(\"^Hello\", \"Hello World\", \"A Message\") doesn't work!", function()
819 local a_string = assert_match("^Hello", "Hello World", "A message")
820 assert_equal("Hello World", a_string)
821 end)
823 assert_pass("assert_match(\"World$\", \"Hello World\") doesn't work!", function()
824 local a_string = assert_match("World$", "Hello World")
825 assert_equal("Hello World", a_string)
826 end)
828 assert_pass("assert_match(\"World$\", \"Hello World\", \"A Message\") doesn't work!", function()
829 local a_string = assert_match("World$", "Hello World", "A message")
830 assert_equal("Hello World", a_string)
831 end)
833 assert_error("assert_match(\"Hello$\", \"Hello World\") doesn't fail!", function()
834 assert_match("Hello$", "Hello World")
835 end)
837 assert_error("assert_match(\"Hello$\", \"Hello World\", \"A Message\") doesn't fail!", function()
838 assert_match("Hello$", "Hello World", "A message")
839 end)
841 assert_error("assert_match(\"^World\", \"Hello World\") doesn't fail!", function()
842 assert_match("^World", "Hello World")
843 end)
845 assert_error("assert_match(\"^World\", \"Hello World\", \"A Message\") doesn't fail!", function()
846 assert_match("^World", "Hello World", "A message")
847 end)
849 assert_error("assert_match(nil, \"Hello World\") doesn't fail!", function()
850 assert_match(nil, "Hello World")
851 end)
853 assert_error("assert_match(nil, \"Hello World\", \"A Message\") doesn't fail!", function()
854 assert_match(nil, "Hello World", "A message")
855 end)
857 assert_error("assert_match(\"^World\", nil) doesn't fail!", function()
858 assert_match("^World", nil)
859 end)
861 assert_error("assert_match(\"^World\", nil, \"A Message\") doesn't fail!", function()
862 assert_match("^World", nil, "A message")
863 end)
867 function test_assert_not_match()
868 assert_pass("assert_not_match(\"Hello$\", \"Hello World\") doesn't work!", function()
869 local a_string = assert_not_match("Hello$", "Hello World")
870 assert_equal("Hello World", a_string)
871 end)
873 assert_pass("assert_not_match(\"Hello$\", \"Hello World\", \"A Message\") doesn't work!", function()
874 local a_string = assert_not_match("Hello$", "Hello World", "A message")
875 assert_equal("Hello World", a_string)
876 end)
878 assert_pass("assert_not_match(\"^World\", \"Hello World\") doesn't work!", function()
879 local a_string = assert_not_match("^World", "Hello World")
880 assert_equal("Hello World", a_string)
881 end)
883 assert_pass("assert_not_match(\"^World\", \"Hello World\", \"A Message\") doesn't work!", function()
884 local a_string = assert_not_match("^World", "Hello World", "A message")
885 assert_equal("Hello World", a_string)
886 end)
888 assert_error("assert_not_match(\"^Hello\", \"Hello World\") doesn't fail!", function()
889 assert_not_match("^Hello", "Hello World")
890 end)
892 assert_error("assert_not_match(\"^Hello\", \"Hello World\", \"A Message\") doesn't fail!", function()
893 assert_not_match("^Hello", "Hello World", "A message")
894 end)
896 assert_error("assert_not_match(\"World$\", \"Hello World\") doesn't fail!", function()
897 assert_not_match("World$", "Hello World")
898 end)
900 assert_error("assert_not_match(\"World$\", \"Hello World\", \"A Message\") doesn't fail!", function()
901 assert_not_match("World$", "Hello World", "A message")
902 end)
904 assert_error("assert_not_match(nil, \"Hello World\") doesn't fail!", function()
905 assert_not_match(nil, "Hello World")
906 end)
908 assert_error("assert_not_match(nil, \"Hello World\", \"A Message\") doesn't fail!", function()
909 assert_not_match(nil, "Hello World", "A message")
910 end)
912 assert_error("assert_not_match(\"^World\", nil) doesn't fail!", function()
913 assert_not_match("^World", nil)
914 end)
916 assert_error("assert_not_match(\"^World\", nil, \"A Message\") doesn't fail!", function()
917 assert_not_match("^World", nil, "A message")
918 end)