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  }