diff --git a/idle/idle_test.go b/idle/idle_test.go index b172909..069ea57 100644 --- a/idle/idle_test.go +++ b/idle/idle_test.go @@ -6,6 +6,29 @@ import ( ) func TestIdlerChan(_ *testing.T) { - i := CreateIdler(1 * time.Second) + i := CreateIdler(10 * time.Millisecond) <-i.Chan() } + +func TestGlobalIdler(t *testing.T) { + err := Wait(10 * time.Millisecond) + if err != nil { + t.Fatalf("idle.Wait failed, %v", err) + } + err = Wait(10 * time.Millisecond) + if err == nil { + t.Fatal("idle.Wait should fail when called second time") + } +} + +func TestIdlerEnterExit(t *testing.T) { + i := CreateIdler(10 * time.Millisecond).(*idler) + i.Enter() + if i.active.Load() != 1 { + t.FailNow() + } + i.Exit() + if i.active.Load() != 0 { + t.FailNow() + } +}