MCPcopy Create free account
hub / github.com/dbProjectRED/redimo.go / TestGeoBasics

Function TestGeoBasics

geo_test.go:22–69  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

20}
21
22func TestGeoBasics(t *testing.T) {
23 c := newClient(t)
24 startingMap := map[string]GLocation{
25 "Palermo": {38.115556, 13.361389},
26 "Catania": {37.502669, 15.087269},
27 }
28 addedMembers, err := c.GEOADD("Sicily", map[string]GLocation{
29 "Catania": {37.502669, 15.087269},
30 })
31 assert.NoError(t, err)
32 assert.Equal(t, 1, len(addedMembers))
33
34 addedMembers, err = c.GEOADD("Sicily", startingMap)
35 assert.NoError(t, err)
36 assert.Equal(t, 1, len(addedMembers))
37
38 count, err := c.ZCARD("Sicily")
39 assert.NoError(t, err)
40 assert.Equal(t, int64(2), count)
41
42 geohashes, err := c.GEOHASH("Sicily", "Palermo")
43 assert.NoError(t, err)
44 assert.Equal(t, map[string]string{"Palermo": "sqc8b49rnyte"}, geohashes)
45
46 geohashes, err = c.GEOHASH("Sicily", "Palermo", "Catania")
47 assert.NoError(t, err)
48 assert.Equal(t, map[string]string{"Palermo": "sqc8b49rnyte", "Catania": "sqdtr74hyu5n"}, geohashes)
49
50 distance, ok, err := c.GEODIST("Sicily", "Palermo", "Catania", Meters)
51 assert.NoError(t, err)
52 assert.True(t, ok)
53 assert.InDelta(t, 166274.1516, distance, 1)
54
55 distance, ok, err = c.GEODIST("Sicily", "Catania", "Palermo", Kilometers)
56 assert.NoError(t, err)
57 assert.True(t, ok)
58 assert.InDelta(t, 166.2742, distance, 0.01)
59
60 distance, ok, err = c.GEODIST("Sicily", "Catania", "Palermo", Miles)
61 assert.NoError(t, err)
62 assert.True(t, ok)
63 assert.InDelta(t, 103.3182, distance, 0.01)
64
65 positions, err := c.GEOPOS("Sicily", "Palermo", "Catania")
66 assert.NoError(t, err)
67 assert.InDelta(t, startingMap["Palermo"].Lat, positions["Palermo"].Lat, 0.1)
68 assert.InDelta(t, startingMap["Catania"].Lon, positions["Catania"].Lon, 0.1)
69}
70
71func TestGeoRadius(t *testing.T) {
72 c := newClient(t)

Callers

nothing calls this directly

Calls 6

newClientFunction · 0.85
GEOADDMethod · 0.80
ZCARDMethod · 0.80
GEOHASHMethod · 0.80
GEODISTMethod · 0.80
GEOPOSMethod · 0.80

Tested by

no test coverage detected