mirror of https://github.com/liamg/aminal.git
62 lines
800 B
Go
62 lines
800 B
Go
package oncer
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func Test_Do(t *testing.T) {
|
|
r := require.New(t)
|
|
|
|
var counter int
|
|
for i := 0; i < 5; i++ {
|
|
Do("foo", func() {
|
|
counter++
|
|
})
|
|
}
|
|
r.Equal(1, counter)
|
|
}
|
|
|
|
func Test_Reset_ByName(t *testing.T) {
|
|
r := require.New(t)
|
|
|
|
Do("foo", func() {})
|
|
Do("bar", func() {})
|
|
|
|
_, ok := onces.Load("foo")
|
|
r.True(ok)
|
|
|
|
_, ok = onces.Load("bar")
|
|
r.True(ok)
|
|
|
|
Reset("foo")
|
|
|
|
_, ok = onces.Load("foo")
|
|
r.False(ok)
|
|
|
|
_, ok = onces.Load("bar")
|
|
r.True(ok)
|
|
}
|
|
|
|
func Test_Reset_All(t *testing.T) {
|
|
r := require.New(t)
|
|
|
|
Do("foo", func() {})
|
|
Do("bar", func() {})
|
|
|
|
_, ok := onces.Load("foo")
|
|
r.True(ok)
|
|
|
|
_, ok = onces.Load("bar")
|
|
r.True(ok)
|
|
|
|
Reset()
|
|
|
|
_, ok = onces.Load("foo")
|
|
r.False(ok)
|
|
|
|
_, ok = onces.Load("bar")
|
|
r.False(ok)
|
|
}
|