blob: d688db5f03ac3973c218d3e8d6075b7c6a474c62 [file] [log] [blame]
Jiri Simsa5293dcb2014-05-10 09:56:38 -07001package timekeeper
2
3import (
4 "testing"
5 "time"
6)
7
8func TestAfter(t *testing.T) {
9 var tk TimeKeeper
10 tk = RealTime()
11 before := time.Now()
12 timeToSleep := 500000000 * time.Nanosecond // Half a second.
13 <-tk.After(timeToSleep)
14 after := time.Now()
15 if after.Before(before.Add(timeToSleep / 2)) {
16 t.Errorf("Too short: %s", after.Sub(before))
17 }
18 if after.After(before.Add(timeToSleep * 2)) {
19 t.Errorf("Too long: %s", after.Sub(before))
20 }
21}
22
23func TestSleep(t *testing.T) {
24 var tk TimeKeeper
25 tk = RealTime()
26 before := time.Now()
27 timeToSleep := 500000000 * time.Nanosecond // Half a second.
28 tk.Sleep(timeToSleep)
29 after := time.Now()
30 if after.Before(before.Add(timeToSleep / 2)) {
31 t.Errorf("Too short: %s", after.Sub(before))
32 }
33 if after.After(before.Add(timeToSleep * 2)) {
34 t.Errorf("Too long: %s", after.Sub(before))
35 }
36}