package stat import ( "testing" "time" ) func TestTimeAdd(t *testing.T) { var avg AvgTime for i := 0; i < avgCount+1; i++ { avg.Add(time.Second) } if avg.Value != time.Second { t.Errorf("Got bad average time: %v", avg.Value) } } func TestTimeAdd2(t *testing.T) { var avg AvgTime for i := 0; i < avgCount*10+1; i++ { avg.Add(time.Second) } if avg.Value != time.Second { t.Errorf("Got bad average time: %v", avg.Value) } } func TestCopy(t *testing.T) { avg1 := AvgTime{Value: time.Second, index: 2} var avg2 AvgTime avg2 = avg1 if avg2.Value != time.Second { t.Errorf("Bad value: %v", avg2.Value) } if avg2.index != 2 { t.Errorf("Bad index: %v", avg2.index) } } func TestAvgTime_AddStat(t *testing.T) { var avg1, avg2 AvgTime avg1.Add(time.Second) avg2.Add(time.Second * 2) avg1.AddStat(&avg2) goodTime := time.Millisecond * 300 if avg1.Value != goodTime { t.Errorf("Bad average time value, expect %v, got %v", goodTime, avg1.Value) } }