blob: ae70f11202b089aee739e3c256745b96bc816819 [file] [log] [blame]
Jiri Simsa5293dcb2014-05-10 09:56:38 -07001// +build linux
2
3package bluetooth
4
5import (
6 "math"
7 "testing"
8
Srdjan Petrovicded36592014-06-26 10:04:14 -07009 "veyron/lib/unit"
Jiri Simsa5293dcb2014-05-10 09:56:38 -070010)
11
12func TestDistanceFromRSSI(t *testing.T) {
13 testcases := []struct {
14 rssi int
15 dist unit.Distance
16 }{
17 {-45, 1 * unit.Meter},
18 {-50, 1 * unit.Meter},
19 {-55, 2 * unit.Meter},
20 {-60, 4 * unit.Meter},
21 {-65, 8 * unit.Meter},
22 {-70, 13 * unit.Meter},
23 {-80, 39 * unit.Meter},
24 {-90, 113 * unit.Meter},
25 }
26 for _, tc := range testcases {
27 d := distanceFromRSSI(tc.rssi)
28 if math.Trunc(d.Meters()) != tc.dist.Meters() {
29 t.Errorf("distanceFromRSSI(%d) = %v; want %v", tc.rssi, d, tc.dist)
30 }
31 }
32}