-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain_test.go
83 lines (78 loc) · 1.04 KB
/
main_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package numutils
import (
"testing"
)
func TestIsNumber(t *testing.T) {
// Test cases that should be recognized as numbers
validNumbers := []string{
"0xff",
"5e3",
"0",
"0.1",
"-0.1",
"-1.1",
"37",
"3.14",
"1",
"1.1",
"10",
"10.1",
"100",
"-100",
"0.1",
"-0.1",
"-1.1",
"0",
"012",
"1",
"1.1",
"10",
"10.10",
"100",
"5e3",
" 56\r\n ",
}
for _, num := range validNumbers {
if !IsNumber(num) {
t.Errorf("Expected %v to be a number", num)
}
}
// Test cases that should not be recognized as numbers
invalidNumbers := []string{
" ",
"\r\n\t",
"",
"3a",
"abc",
"false",
"null",
"true",
"undefined",
"abc",
"/foo/",
"[1, 2, 4]",
"Infinity",
"-Infinity",
"NaN",
"{ a: 1 }",
"{}",
"/foo/",
"[1, 2, 3]",
"[1]",
"[]",
"true",
"false",
"function() {}",
"Math.sin",
"NaN",
"new Date()",
"null",
"undefined",
"{}",
}
for _, num := range invalidNumbers {
if IsNumber(num) {
t.Errorf("Expected %v to not be a number", num)
}
}
}