package scheduler
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
)
func TestScheduler(t *testing.T) {
tm1 := time.Date(2020, 6, 5, 12, 0, 0, 0, time.UTC)
tm2 := tm1.Add(time.Minute)
s := New()
s.Add(tm2, "a")
{
tm, key := s.Next()
assert.Equal(t, tm2, tm)
assert.Equal(t, "a", key)
}
s.Add(tm1, "b")
{
tm, key := s.Next()
assert.Equal(t, tm1, tm)
assert.Equal(t, "b", key)
}
s.Remove("b")
{
tm, key := s.Next()
assert.Equal(t, tm2, tm)
assert.Equal(t, "a", key)
}
s.Remove("a")
{
tm, key := s.Next()
assert.Equal(t, maxTime, tm)
assert.Equal(t, "", key)
}
}