blob: d688db5f03ac3973c218d3e8d6075b7c6a474c62 [file] [log] [blame]
package timekeeper
import (
"testing"
"time"
)
func TestAfter(t *testing.T) {
var tk TimeKeeper
tk = RealTime()
before := time.Now()
timeToSleep := 500000000 * time.Nanosecond // Half a second.
<-tk.After(timeToSleep)
after := time.Now()
if after.Before(before.Add(timeToSleep / 2)) {
t.Errorf("Too short: %s", after.Sub(before))
}
if after.After(before.Add(timeToSleep * 2)) {
t.Errorf("Too long: %s", after.Sub(before))
}
}
func TestSleep(t *testing.T) {
var tk TimeKeeper
tk = RealTime()
before := time.Now()
timeToSleep := 500000000 * time.Nanosecond // Half a second.
tk.Sleep(timeToSleep)
after := time.Now()
if after.Before(before.Add(timeToSleep / 2)) {
t.Errorf("Too short: %s", after.Sub(before))
}
if after.After(before.Add(timeToSleep * 2)) {
t.Errorf("Too long: %s", after.Sub(before))
}
}