109 lines
2.2 KiB
Go
109 lines
2.2 KiB
Go
package pluscode
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestEncode(t *testing.T) {
|
|
t.Run("germany", func(t *testing.T) {
|
|
plusCode := Encode(48.56344833333333, 8.996878333333333)
|
|
|
|
expected := "8FWCHX7W+"
|
|
|
|
assert.Equal(t, expected, plusCode)
|
|
})
|
|
|
|
t.Run("lat_overflow", func(t *testing.T) {
|
|
plusCode := Encode(548.56344833333333, 8.996878333333333)
|
|
|
|
assert.Equal(t, "", plusCode)
|
|
})
|
|
|
|
t.Run("lng_overflow", func(t *testing.T) {
|
|
plusCode := Encode(48.56344833333333, 258.996878333333333)
|
|
|
|
assert.Equal(t, "", plusCode)
|
|
})
|
|
}
|
|
|
|
func TestEncodeLength(t *testing.T) {
|
|
t.Run("germany_9", func(t *testing.T) {
|
|
plusCode, err := EncodeLength(48.56344833333333, 8.996878333333333, 9)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
expected := "8FWCHX7W+9Q"
|
|
|
|
assert.Equal(t, expected, plusCode)
|
|
})
|
|
|
|
t.Run("germany_8", func(t *testing.T) {
|
|
plusCode, err := EncodeLength(48.56344833333333, 8.996878333333333, 8)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
expected := "8FWCHX7W+"
|
|
|
|
assert.Equal(t, expected, plusCode)
|
|
})
|
|
|
|
t.Run("germany_7", func(t *testing.T) {
|
|
plusCode, err := EncodeLength(48.56344833333333, 8.996878333333333, 7)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
expected := "8FWCHX7W+"
|
|
|
|
assert.Equal(t, expected, plusCode)
|
|
})
|
|
|
|
t.Run("germany_6", func(t *testing.T) {
|
|
plusCode, err := EncodeLength(48.56344833333333, 8.996878333333333, 6)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
expected := "8FWCHX00+"
|
|
|
|
assert.Equal(t, expected, plusCode)
|
|
})
|
|
|
|
t.Run("lat_overflow", func(t *testing.T) {
|
|
plusCode, err := EncodeLength(548.56344833333333, 8.996878333333333, 7)
|
|
if err == nil {
|
|
t.Fatal("encode should return error")
|
|
}
|
|
assert.Equal(t, "", plusCode)
|
|
})
|
|
|
|
t.Run("lng_overflow", func(t *testing.T) {
|
|
plusCode, err := EncodeLength(48.56344833333333, 258.996878333333333, 7)
|
|
if err == nil {
|
|
t.Fatal("encode should return error")
|
|
}
|
|
assert.Equal(t, "", plusCode)
|
|
})
|
|
}
|
|
|
|
func TestS2(t *testing.T) {
|
|
t.Run("germany", func(t *testing.T) {
|
|
token := S2("8FWCHX7W+")
|
|
|
|
assert.Equal(t, "4799e3772d14", token)
|
|
})
|
|
t.Run("empty code", func(t *testing.T) {
|
|
token := S2("")
|
|
|
|
assert.Equal(t, "", token)
|
|
})
|
|
t.Run("invalid code", func(t *testing.T) {
|
|
token := S2("xxx")
|
|
|
|
assert.Equal(t, "", token)
|
|
})
|
|
}
|