blob: 3b6a152645403544a9efda62ac2c8a0c230ad6ba [file] [log] [blame]
// +build veyronbluetooth,!android
package bluetooth
import (
"math"
"testing"
"veyron/lib/unit"
)
func TestDistanceFromRSSI(t *testing.T) {
testcases := []struct {
rssi int
dist unit.Distance
}{
{-45, 1 * unit.Meter},
{-50, 1 * unit.Meter},
{-55, 2 * unit.Meter},
{-60, 4 * unit.Meter},
{-65, 8 * unit.Meter},
{-70, 13 * unit.Meter},
{-80, 39 * unit.Meter},
{-90, 113 * unit.Meter},
}
for _, tc := range testcases {
d := distanceFromRSSI(tc.rssi)
if math.Trunc(d.Meters()) != tc.dist.Meters() {
t.Errorf("distanceFromRSSI(%d) = %v; want %v", tc.rssi, d, tc.dist)
}
}
}