initial import
This commit is contained in:
27
core/syncx/atomicbool_test.go
Normal file
27
core/syncx/atomicbool_test.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package syncx
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestAtomicBool(t *testing.T) {
|
||||
val := ForAtomicBool(true)
|
||||
assert.True(t, val.True())
|
||||
val.Set(false)
|
||||
assert.False(t, val.True())
|
||||
val.Set(true)
|
||||
assert.True(t, val.True())
|
||||
val.Set(false)
|
||||
assert.False(t, val.True())
|
||||
ok := val.CompareAndSwap(false, true)
|
||||
assert.True(t, ok)
|
||||
assert.True(t, val.True())
|
||||
ok = val.CompareAndSwap(true, false)
|
||||
assert.True(t, ok)
|
||||
assert.False(t, val.True())
|
||||
ok = val.CompareAndSwap(true, false)
|
||||
assert.False(t, ok)
|
||||
assert.False(t, val.True())
|
||||
}
|
||||
Reference in New Issue
Block a user