bps/bandwidth_test.go
Stephen McQuay bb8ce3c1ea Started down a different path; using a circular buffer instead.
After talks on #go-nuts, it seems as though I should look into using something
like the following:

https://github.com/cespare/goproc/tree/master/nwstat

And this makes sense. I have trimmed out the old tests and rearranged some code
here.
2014-03-08 00:45:55 -08:00

45 lines
888 B
Go

package bandwidth
import (
"log"
"testing"
"time"
)
func init() {
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
}
func validate(t *testing.T, actual, expected []float64) {
if len(actual) != len(expected) {
t.Errorf("len is not same: %d expected %d", len(actual), len(expected))
}
for i, _ := range actual {
if actual[i] != expected[i] {
t.Errorf("%dth: got %f expected %f", i, actual[i], expected[i])
}
}
}
func TestEmpty(t *testing.T) {
bw, err := NewBandwidth([]int{1, 10, 60}, 100*time.Millisecond)
if err != nil {
t.Error(err)
}
go bw.Run()
bw.rxstream = []int{1, 10, 60}
validate(t, <-bw.Rx, []float64{})
}
func TestEmptySeconds(t *testing.T) {
_, err := NewBandwidth([]int{}, 100*time.Millisecond)
if err == nil {
t.Error(err)
}
}
func TestA(t *testing.T) {
bw, _ := NewBandwidth([]int{1, 10, 30}, 1*time.Second)
log.Printf("%+v", bw)
}