2019-12-03 16:14:23 +00:00
|
|
|
package aoc2019
|
|
|
|
|
|
|
|
import "testing"
|
|
|
|
|
2019-12-10 15:22:53 +00:00
|
|
|
func TestGreatestCommonDivisor(t *testing.T) {
|
|
|
|
for expDivisor, vals := range map[int64][2]int64{
|
|
|
|
1: {2, 3},
|
|
|
|
2: {4, 6},
|
|
|
|
-5: {-5, 15},
|
|
|
|
} {
|
|
|
|
if r := greatestCommonDivisor(vals[0], vals[1]); r != expDivisor {
|
|
|
|
t.Errorf("Unexpected divisor for values %+v: exp=%d got=%d", vals, expDivisor, r)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-12-03 16:14:23 +00:00
|
|
|
func TestManhattenDistance(t *testing.T) {
|
|
|
|
for expDist, p := range map[int][4]int{
|
|
|
|
2: {0, 0, 0, 2},
|
|
|
|
3: {0, 0, 3, 0},
|
|
|
|
6: {-3, 0, 3, 0},
|
|
|
|
7: {-3, 0, 0, 4},
|
|
|
|
} {
|
|
|
|
if dist := manhattenDistance(p[0], p[1], p[2], p[3]); dist != expDist {
|
|
|
|
t.Errorf("Unexpected distance for %+v: exp=%d got=%d", p, expDist, dist)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|