github.com/operator-framework/operator-lifecycle-manager@v0.30.0/pkg/lib/time/shared_test.go (about) 1 package time 2 3 import ( 4 "sync" 5 "testing" 6 "time" 7 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestSharedTime(t *testing.T) { 12 now := time.Now() 13 type args struct { 14 current time.Time 15 } 16 tests := []struct { 17 name string 18 s *SharedTime 19 args args 20 }{ 21 { 22 name: "TestSet", 23 s: &SharedTime{ 24 RWMutex: sync.RWMutex{}, 25 time: time.Unix(12345567, 0), 26 }, 27 args: args{current: now}, 28 }, 29 } 30 for _, tt := range tests { 31 t.Run(tt.name, func(t *testing.T) { 32 tt.s.Set(now) 33 require.True(t, tt.s.Before(now.Add(time.Second))) 34 require.True(t, tt.s.After(now.Add(-time.Second))) 35 }) 36 } 37 }