github.com/lingyao2333/mo-zero@v1.4.1/core/syncx/atomicduration_test.go (about) 1 package syncx 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestAtomicDuration(t *testing.T) { 11 d := ForAtomicDuration(time.Duration(100)) 12 assert.Equal(t, time.Duration(100), d.Load()) 13 d.Set(time.Duration(200)) 14 assert.Equal(t, time.Duration(200), d.Load()) 15 assert.True(t, d.CompareAndSwap(time.Duration(200), time.Duration(300))) 16 assert.Equal(t, time.Duration(300), d.Load()) 17 assert.False(t, d.CompareAndSwap(time.Duration(200), time.Duration(400))) 18 assert.Equal(t, time.Duration(300), d.Load()) 19 }