2016-07-13 23:19:03 +00:00
|
|
|
package data
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
2016-12-22 02:14:51 +00:00
|
|
|
func TestFrequencyName(t *testing.T) {
|
|
|
|
assert := assert.New(t)
|
|
|
|
|
|
|
|
assert.Equal("11a", WirelessAirtime{Frequency: 5000}.FrequencyName())
|
|
|
|
assert.Equal("11g", WirelessAirtime{Frequency: 4999}.FrequencyName())
|
|
|
|
assert.Equal("11g", WirelessAirtime{Frequency: 2412}.FrequencyName())
|
|
|
|
}
|
|
|
|
|
2016-07-13 23:19:03 +00:00
|
|
|
func TestUtilization(t *testing.T) {
|
|
|
|
assert := assert.New(t)
|
|
|
|
|
|
|
|
t1 := &WirelessAirtime{
|
|
|
|
Active_time: 20,
|
|
|
|
Busy_time: 0,
|
|
|
|
Tx_time: 5,
|
|
|
|
Rx_time: 0,
|
|
|
|
}
|
|
|
|
t2 := &WirelessAirtime{
|
|
|
|
Active_time: 120,
|
|
|
|
Busy_time: 10,
|
|
|
|
Tx_time: 25,
|
|
|
|
Rx_time: 15,
|
|
|
|
}
|
|
|
|
t3 := &WirelessAirtime{
|
|
|
|
Active_time: 200,
|
|
|
|
Busy_time: 40,
|
|
|
|
Tx_time: 35,
|
|
|
|
Rx_time: 15,
|
|
|
|
}
|
|
|
|
|
|
|
|
t1.SetUtilization(t2)
|
|
|
|
assert.Zero(t1.ChanUtil)
|
|
|
|
assert.Zero(t1.TxUtil)
|
|
|
|
assert.Zero(t1.RxUtil)
|
|
|
|
|
|
|
|
t2.SetUtilization(t1)
|
|
|
|
assert.NotZero(t2.ChanUtil)
|
2016-07-14 10:31:11 +00:00
|
|
|
assert.EqualValues(45, t2.ChanUtil)
|
|
|
|
assert.EqualValues(20, t2.RxUtil)
|
|
|
|
assert.EqualValues(15, t2.TxUtil)
|
2016-07-13 23:19:03 +00:00
|
|
|
|
|
|
|
t3.SetUtilization(t2)
|
2016-07-14 10:31:11 +00:00
|
|
|
assert.EqualValues(50, t3.ChanUtil)
|
|
|
|
assert.EqualValues(12.5, t3.RxUtil)
|
2016-07-13 23:19:03 +00:00
|
|
|
assert.EqualValues(0, t3.TxUtil)
|
|
|
|
}
|
2016-11-20 18:11:56 +00:00
|
|
|
|
2016-12-22 02:14:51 +00:00
|
|
|
func TestWirelessStatistics(t *testing.T) {
|
2016-11-20 18:11:56 +00:00
|
|
|
assert := assert.New(t)
|
|
|
|
|
2016-12-22 02:14:51 +00:00
|
|
|
stats := WirelessStatistics([]*WirelessAirtime{{
|
|
|
|
Frequency: 2400,
|
|
|
|
Active_time: 20,
|
|
|
|
Tx_time: 10,
|
|
|
|
}})
|
|
|
|
|
|
|
|
// Different Frequency, should not change anything
|
|
|
|
stats.SetUtilization([]*WirelessAirtime{{
|
|
|
|
Frequency: 5000,
|
|
|
|
Active_time: 15,
|
|
|
|
Tx_time: 1,
|
|
|
|
}})
|
|
|
|
assert.EqualValues(0, stats[0].ChanUtil)
|
2016-11-20 18:11:56 +00:00
|
|
|
|
2016-12-22 02:14:51 +00:00
|
|
|
// Same Frequency, should set the utilization
|
|
|
|
stats.SetUtilization([]*WirelessAirtime{{
|
|
|
|
Frequency: 2400,
|
|
|
|
Active_time: 10,
|
|
|
|
Tx_time: 5,
|
|
|
|
}})
|
|
|
|
assert.EqualValues(50, stats[0].ChanUtil)
|
2016-11-20 18:11:56 +00:00
|
|
|
}
|