Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sundowndev
GitHub Repository: sundowndev/phoneinfoga
Path: blob/master/lib/number/number_test.go
994 views
1
package number
2
3
import (
4
"errors"
5
"github.com/stretchr/testify/assert"
6
"testing"
7
)
8
9
func TestNumber(t *testing.T) {
10
cases := []struct {
11
name string
12
input string
13
expected *Number
14
wantErr error
15
}{
16
{
17
name: "should succeed to parse number",
18
input: "33678342311",
19
expected: &Number{
20
Valid: true,
21
RawLocal: "0678342311",
22
Local: "06 78 34 23 11",
23
E164: "+33678342311",
24
International: "33678342311",
25
CountryCode: 33,
26
Country: "FR",
27
Carrier: "",
28
},
29
},
30
{
31
name: "should succeed to parse number",
32
input: "15552221212",
33
expected: &Number{
34
Valid: false,
35
RawLocal: "5552221212",
36
Local: "(555) 222-1212",
37
E164: "+15552221212",
38
International: "15552221212",
39
CountryCode: 1,
40
Country: "",
41
Carrier: "",
42
},
43
},
44
45
{
46
name: "should fail to parse number",
47
input: "wrong",
48
expected: nil,
49
wantErr: errors.New("the phone number supplied is not a number"),
50
},
51
}
52
53
for _, tt := range cases {
54
t.Run(tt.name, func(t *testing.T) {
55
num, err := NewNumber(tt.input)
56
assert.Equal(t, tt.wantErr, err)
57
assert.Equal(t, tt.expected, num)
58
})
59
}
60
}
61
62