aboutsummaryrefslogtreecommitdiff
path: root/testes/math.lua
diff options
context:
space:
mode:
Diffstat (limited to 'testes/math.lua')
-rw-r--r--testes/math.lua100
1 files changed, 50 insertions, 50 deletions
diff --git a/testes/math.lua b/testes/math.lua
index bad43901..c7dc8285 100644
--- a/testes/math.lua
+++ b/testes/math.lua
@@ -39,7 +39,7 @@ do
39end 39end
40 40
41assert(math.type(0) == "integer" and math.type(0.0) == "float" 41assert(math.type(0) == "integer" and math.type(0.0) == "float"
42 and math.type("10") == nil) 42 and not math.type("10"))
43 43
44 44
45local function checkerror (msg, f, ...) 45local function checkerror (msg, f, ...)
@@ -381,17 +381,17 @@ assert(tonumber(1/0) == 1/0)
381 381
382-- 'tonumber' with strings 382-- 'tonumber' with strings
383assert(tonumber("0") == 0) 383assert(tonumber("0") == 0)
384assert(tonumber("") == nil) 384assert(not tonumber(""))
385assert(tonumber(" ") == nil) 385assert(not tonumber(" "))
386assert(tonumber("-") == nil) 386assert(not tonumber("-"))
387assert(tonumber(" -0x ") == nil) 387assert(not tonumber(" -0x "))
388assert(tonumber{} == nil) 388assert(not tonumber{})
389assert(tonumber'+0.01' == 1/100 and tonumber'+.01' == 0.01 and 389assert(tonumber'+0.01' == 1/100 and tonumber'+.01' == 0.01 and
390 tonumber'.01' == 0.01 and tonumber'-1.' == -1 and 390 tonumber'.01' == 0.01 and tonumber'-1.' == -1 and
391 tonumber'+1.' == 1) 391 tonumber'+1.' == 1)
392assert(tonumber'+ 0.01' == nil and tonumber'+.e1' == nil and 392assert(not tonumber'+ 0.01' and not tonumber'+.e1' and
393 tonumber'1e' == nil and tonumber'1.0e+' == nil and 393 not tonumber'1e' and not tonumber'1.0e+' and
394 tonumber'.' == nil) 394 not tonumber'.')
395assert(tonumber('-012') == -010-2) 395assert(tonumber('-012') == -010-2)
396assert(tonumber('-1.2e2') == - - -120) 396assert(tonumber('-1.2e2') == - - -120)
397 397
@@ -445,45 +445,45 @@ local function f (...)
445 end 445 end
446end 446end
447 447
448assert(f(tonumber('fFfa', 15)) == nil) 448assert(not f(tonumber('fFfa', 15)))
449assert(f(tonumber('099', 8)) == nil) 449assert(not f(tonumber('099', 8)))
450assert(f(tonumber('1\0', 2)) == nil) 450assert(not f(tonumber('1\0', 2)))
451assert(f(tonumber('', 8)) == nil) 451assert(not f(tonumber('', 8)))
452assert(f(tonumber(' ', 9)) == nil) 452assert(not f(tonumber(' ', 9)))
453assert(f(tonumber(' ', 9)) == nil) 453assert(not f(tonumber(' ', 9)))
454assert(f(tonumber('0xf', 10)) == nil) 454assert(not f(tonumber('0xf', 10)))
455 455
456assert(f(tonumber('inf')) == nil) 456assert(not f(tonumber('inf')))
457assert(f(tonumber(' INF ')) == nil) 457assert(not f(tonumber(' INF ')))
458assert(f(tonumber('Nan')) == nil) 458assert(not f(tonumber('Nan')))
459assert(f(tonumber('nan')) == nil) 459assert(not f(tonumber('nan')))
460 460
461assert(f(tonumber(' ')) == nil) 461assert(not f(tonumber(' ')))
462assert(f(tonumber('')) == nil) 462assert(not f(tonumber('')))
463assert(f(tonumber('1 a')) == nil) 463assert(not f(tonumber('1 a')))
464assert(f(tonumber('1 a', 2)) == nil) 464assert(not f(tonumber('1 a', 2)))
465assert(f(tonumber('1\0')) == nil) 465assert(not f(tonumber('1\0')))
466assert(f(tonumber('1 \0')) == nil) 466assert(not f(tonumber('1 \0')))
467assert(f(tonumber('1\0 ')) == nil) 467assert(not f(tonumber('1\0 ')))
468assert(f(tonumber('e1')) == nil) 468assert(not f(tonumber('e1')))
469assert(f(tonumber('e 1')) == nil) 469assert(not f(tonumber('e 1')))
470assert(f(tonumber(' 3.4.5 ')) == nil) 470assert(not f(tonumber(' 3.4.5 ')))
471 471
472 472
473-- testing 'tonumber' for invalid hexadecimal formats 473-- testing 'tonumber' for invalid hexadecimal formats
474 474
475assert(tonumber('0x') == nil) 475assert(not tonumber('0x'))
476assert(tonumber('x') == nil) 476assert(not tonumber('x'))
477assert(tonumber('x3') == nil) 477assert(not tonumber('x3'))
478assert(tonumber('0x3.3.3') == nil) -- two decimal points 478assert(not tonumber('0x3.3.3')) -- two decimal points
479assert(tonumber('00x2') == nil) 479assert(not tonumber('00x2'))
480assert(tonumber('0x 2') == nil) 480assert(not tonumber('0x 2'))
481assert(tonumber('0 x2') == nil) 481assert(not tonumber('0 x2'))
482assert(tonumber('23x') == nil) 482assert(not tonumber('23x'))
483assert(tonumber('- 0xaa') == nil) 483assert(not tonumber('- 0xaa'))
484assert(tonumber('-0xaaP ') == nil) -- no exponent 484assert(not tonumber('-0xaaP ')) -- no exponent
485assert(tonumber('0x0.51p') == nil) 485assert(not tonumber('0x0.51p'))
486assert(tonumber('0x5p+-2') == nil) 486assert(not tonumber('0x5p+-2'))
487 487
488 488
489-- testing hexadecimal numerals 489-- testing hexadecimal numerals
@@ -705,19 +705,19 @@ do -- testing floor & ceil
705 assert(eqT(math.tointeger(maxint), maxint)) 705 assert(eqT(math.tointeger(maxint), maxint))
706 assert(eqT(math.tointeger(maxint .. ""), maxint)) 706 assert(eqT(math.tointeger(maxint .. ""), maxint))
707 assert(eqT(math.tointeger(minint + 0.0), minint)) 707 assert(eqT(math.tointeger(minint + 0.0), minint))
708 assert(math.tointeger(0.0 - minint) == nil) 708 assert(not math.tointeger(0.0 - minint))
709 assert(math.tointeger(math.pi) == nil) 709 assert(not math.tointeger(math.pi))
710 assert(math.tointeger(-math.pi) == nil) 710 assert(not math.tointeger(-math.pi))
711 assert(math.floor(math.huge) == math.huge) 711 assert(math.floor(math.huge) == math.huge)
712 assert(math.ceil(math.huge) == math.huge) 712 assert(math.ceil(math.huge) == math.huge)
713 assert(math.tointeger(math.huge) == nil) 713 assert(not math.tointeger(math.huge))
714 assert(math.floor(-math.huge) == -math.huge) 714 assert(math.floor(-math.huge) == -math.huge)
715 assert(math.ceil(-math.huge) == -math.huge) 715 assert(math.ceil(-math.huge) == -math.huge)
716 assert(math.tointeger(-math.huge) == nil) 716 assert(not math.tointeger(-math.huge))
717 assert(math.tointeger("34.0") == 34) 717 assert(math.tointeger("34.0") == 34)
718 assert(math.tointeger("34.3") == nil) 718 assert(not math.tointeger("34.3"))
719 assert(math.tointeger({}) == nil) 719 assert(not math.tointeger({}))
720 assert(math.tointeger(0/0) == nil) -- NaN 720 assert(not math.tointeger(0/0)) -- NaN
721end 721end
722 722
723 723