go-arbitrary/t_phonenumber_canada.go

118 lines
1.5 KiB
Go

package arbitrary
import (
"fmt"
)
func (arb T) phonenumber_canada() string {
var areacode string
{
var areacodes []string = []string{
// alberta
"403",
"780",
"587",
"825",
"368",
// british columnbia
"604",
"250",
"778",
"236",
"672",
// manitoba
"204",
"413",
// new brunswick
"506",
// newfoundland and labrador
"709",
// nova scotia and prince edward island
"782",
"902",
// ontario
"226",
"249",
"289",
"343",
"365",
"416",
"437",
"519",
"548",
"613",
"647",
"705",
"807",
"905",
// quebec
"367",
"418",
"581",
"438",
"450",
"514",
"613",
"581",
"819",
// saskatchewan
"306",
"639",
// yukon, northwest territories and nunavut
"867",
}
areacode = areacodes[arb.randomness.Intn(len(areacodes))]
}
var localpart1 int
{
localpart1 = arb.randomness.Intn(1000)
}
var localpart2 int
{
localpart2 = arb.randomness.Intn(10000)
}
var format string
{
var formats []string = []string{
"%s-%03d%04d",
"%s-%03d-%04d",
"%s %03d %04d",
"%s %03d%04d",
"(%s) %03d%04d",
"(%s)%03d%04d",
"(%s) %03d-%04d",
"(%s)%03d-%04d",
"(%s) %03d %04d",
"(%s)%03d %04d",
"%s/%03d-%04d",
"+1%s%03d%04d",
"+1-%s-%03d-%04d",
"+1 %s %03d %04d",
}
format = formats[arb.randomness.Intn(len(formats))]
}
var result string
{
result = fmt.Sprintf(format, areacode, localpart1, localpart2)
}
return result
}