-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathquery_test.go
57 lines (51 loc) · 3.19 KB
/
query_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package healpix
import (
"testing"
"golang.org/x/exp/slices"
)
func TestNeighbors(t *testing.T) {
testCases := []struct {
name string
order int
pixel int
neighbors []int
}{
{"Order 0: pixel 0 = {8,5,1,4,1,3,3}", 0, 0, []int{8, 5, 1, 4, 1, 3, 3}},
{"Order 0: pixel 1 = {9,6,2,5,2,0,0}", 0, 1, []int{9, 6, 2, 5, 2, 0, 0}},
{"Order 0: pixel 5 = {9,6,8,1,4,0}", 0, 5, []int{9, 6, 8, 1, 4, 0}},
{"Order 0: pixel 6 = {10,7,9,2,5,1}", 0, 6, []int{10, 7, 9, 2, 5, 1}},
{"Order 0: pixel 10 = {11,11,9,7,9,6,2}", 0, 10, []int{11, 11, 9, 7, 9, 6, 2}},
{"Order 0: pixel 11 = {8,8,10,4,10,7,3}", 0, 11, []int{8, 8, 10, 4, 10, 7, 3}},
{"Order 1: pixel 0 = {35,22,23,17,1,19,2,3}", 1, 0, []int{35, 22, 23, 17, 1, 19, 2, 3}},
{"Order 1: pixel 1 = {22,23,6,0,6,2,3,7}", 1, 1, []int{22, 23, 6, 0, 6, 2, 3, 7}},
{"Order 1: pixel 2 = {17,0,1,19,3,13,13,15}", 1, 2, []int{17, 0, 1, 19, 3, 13, 13, 15}},
{"Order 1: pixel 3 = {0,1,6,2,7,13,15}", 1, 3, []int{0, 1, 6, 2, 7, 13, 15}},
{"Order 1: pixel 22 = {33,20,21,35,23,17,0,1}", 1, 22, []int{33, 20, 21, 35, 23, 17, 0, 1}},
{"Order 1: pixel 23 = {20,21,4,22,6,0,1}", 1, 23, []int{20, 21, 4, 22, 6, 0, 1}},
{"Order 1: pixel 21 = {38,39,26,20,4,22,23,6}", 1, 21, []int{38, 39, 26, 20, 4, 22, 23, 6}},
{"Order 1: pixel 20 = {38,39,33,21,35,22,23}", 1, 20, []int{38, 39, 33, 21, 35, 22, 23}},
{"Order 1: pixel 35 = {32,33,20,34,22,16,17,0}", 1, 35, []int{32, 33, 20, 34, 22, 16, 17, 0}},
{"Order 1: pixel 33 = {36,38,38,32,20,34,35,22}", 1, 33, []int{36, 38, 38, 32, 20, 34, 35, 22}},
{"Order 1: pixel 32 = {36,38,44,33,45,34,35}", 1, 32, []int{36, 38, 44, 33, 45, 34, 35}},
{"Order 1: pixel 34 = {44,32,33,45,35,45,16,17}", 1, 34, []int{44, 32, 33, 45, 35, 45, 16, 17}},
{"Order 2: pixel 0 = {143,90,91,69,1,71,2,3}", 2, 0, []int{143, 90, 91, 69, 1, 71, 2, 3}},
{"Order 2: pixel 3 = {0,1,4,2,6,8,9,12}", 2, 3, []int{0, 1, 4, 2, 6, 8, 9, 12}},
{"Order 2: pixel 12 = {3,6,7,9,13,11,14,15}", 2, 12, []int{3, 6, 7, 9, 13, 11, 14, 15}},
{"Order 2: pixel 15 = {12,13,30,14,31,61,63}", 2, 15, []int{12, 13, 30, 14, 31, 61, 63}},
{"Order 2: pixel 186 = {164,184,185,165,187,165,112,113}", 2, 186, []int{164, 184, 185, 165, 187, 165, 112, 113}},
{"Order 2: pixel 184 = {161,178,179,164,185,165,186,187}", 2, 184, []int{161, 178, 179, 164, 185, 165, 186, 187}},
{"Order 2: pixel 178 = {160,176,177,161,179,164,184,185}", 2, 178, []int{160, 176, 177, 161, 179, 164, 184, 185}},
{"Order 2: pixel 176 = {128,130,160,177,161,178,179}", 2, 176, []int{128, 130, 160, 177, 161, 178, 179}},
{"Order 2: pixel 177 = {128,130,136,176,180,178,179,182}", 2, 177, []int{128, 130, 136, 176, 180, 178, 179, 182}},
{"Order 2: pixel 180 = {130,136,138,177,181,179,182,183}", 2, 180, []int{130, 136, 138, 177, 181, 179, 182, 183}},
{"Order 2: pixel 181 = {136,138,138,180,64,182,183,66}", 2, 181, []int{136, 138, 138, 180, 64, 182, 183, 66}},
}
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
neighbors := Neighbors(NewHealpixOrder(tc.order), NestPixel(tc.pixel), NestScheme)
if !slices.Equal(tc.neighbors, neighbors) {
t.Errorf("Pixel %v for order %v expected neighbors %v, got %v instead", tc.pixel, tc.order, tc.neighbors, neighbors)
}
})
}
}