rssmon3/monitor/queue_test.go

50 lines
681 B
Go

package monitor
import (
"testing"
"time"
)
func initQueue() {
initItem()
}
func TestQueue(t *testing.T) {
initQueue()
q := newQueue()
if i := q.Peek(); i != nil {
t.Error(i)
}
i := &Item{Key: "k"}
q.Push(i)
if i := q.Peek(); i.Key != "k" {
t.Error(i)
} else if j := q.Pop(); i != j {
t.Error(j)
} else if j.Key != "k" {
t.Error(j)
}
}
func TestQueuePriority(t *testing.T) {
initQueue()
q := newQueue()
i, _ := NewItem("iQueuePriority", time.Second)
j, _ := NewItem("jQueuePriority", time.Hour)
q.Push(i)
q.Push(j)
if k := q.Peek(); k.Key != "iQueuePriority" {
t.Errorf("compare is backwards")
}
if q.Len() != 2 {
t.Error(q.Len())
}
}