149 lines
3.6 KiB
Go
149 lines
3.6 KiB
Go
|
package maps
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
)
|
||
|
|
||
|
func TestS2Encode(t *testing.T) {
|
||
|
t.Run("Wildgehege", func(t *testing.T) {
|
||
|
plusCode := S2Encode(48.56344833333333, 8.996878333333333)
|
||
|
expected := uint64(0x799e370d0000000)
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("LatOverflow", func(t *testing.T) {
|
||
|
plusCode := S2Encode(548.56344833333333, 8.996878333333333)
|
||
|
expected := uint64(0)
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("LongOverflow", func(t *testing.T) {
|
||
|
plusCode := S2Encode(48.56344833333333, 258.996878333333333)
|
||
|
expected := uint64(0)
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func TestS2EncodeLevel(t *testing.T) {
|
||
|
t.Run("Wildgehege30", func(t *testing.T) {
|
||
|
plusCode := S2EncodeLevel(48.56344833333333, 8.996878333333333, 30)
|
||
|
expected := uint64(0x799e370ca54c8b9)
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("Wildgehege18", func(t *testing.T) {
|
||
|
plusCode := S2EncodeLevel(48.56344833333333, 8.996878333333333, 18)
|
||
|
expected := uint64(0x799e370cb000000)
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("Wildgehege10", func(t *testing.T) {
|
||
|
plusCode := S2EncodeLevel(48.56344833333333, 8.996878333333333, 10)
|
||
|
expected := uint64(0x799e30000000000)
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("LatOverflow", func(t *testing.T) {
|
||
|
plusCode := S2EncodeLevel(548.56344833333333, 8.996878333333333, 10)
|
||
|
expected := uint64(0)
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("LongOverflow", func(t *testing.T) {
|
||
|
plusCode := S2EncodeLevel(48.56344833333333, 258.996878333333333, 15)
|
||
|
expected := uint64(0)
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func TestS2Token(t *testing.T) {
|
||
|
t.Run("Wildgehege", func(t *testing.T) {
|
||
|
plusCode := ID(48.56344833333333, 8.996878333333333)
|
||
|
expected := "4799e370d"
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("LatOverflow", func(t *testing.T) {
|
||
|
plusCode := ID(548.56344833333333, 8.996878333333333)
|
||
|
expected := ""
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("LongOverflow", func(t *testing.T) {
|
||
|
plusCode := ID(48.56344833333333, 258.996878333333333)
|
||
|
expected := ""
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func TestS2TokenLevel(t *testing.T) {
|
||
|
t.Run("Wildgehege30", func(t *testing.T) {
|
||
|
plusCode := S2TokenLevel(48.56344833333333, 8.996878333333333, 30)
|
||
|
expected := "4799e370ca54c8b9"
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("NearWildgehege30", func(t *testing.T) {
|
||
|
plusCode := S2TokenLevel(48.56344839999999, 8.996878339999999, 30)
|
||
|
expected := "4799e370ca54c8b7"
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("Wildgehege18", func(t *testing.T) {
|
||
|
plusCode := S2TokenLevel(48.56344833333333, 8.996878333333333, 18)
|
||
|
expected := "4799e370cb"
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("NearWildgehege18", func(t *testing.T) {
|
||
|
plusCode := S2TokenLevel(48.56344839999999, 8.996878339999999, 18)
|
||
|
expected := "4799e370cb"
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("NearWildgehege15", func(t *testing.T) {
|
||
|
plusCode := S2TokenLevel(48.56344833333333, 8.996878333333333, 15)
|
||
|
expected := "4799e370c"
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("Wildgehege10", func(t *testing.T) {
|
||
|
plusCode := S2TokenLevel(48.56344833333333, 8.996878333333333, 10)
|
||
|
expected := "4799e3"
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("LatOverflow", func(t *testing.T) {
|
||
|
plusCode := S2TokenLevel(548.56344833333333, 8.996878333333333, 30)
|
||
|
expected := ""
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
|
||
|
t.Run("LongOverflow", func(t *testing.T) {
|
||
|
plusCode := S2TokenLevel(48.56344833333333, 258.996878333333333, 30)
|
||
|
expected := ""
|
||
|
|
||
|
assert.Equal(t, expected, plusCode)
|
||
|
})
|
||
|
}
|