diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/micro_time.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/micro_time.go index cdd9a6a7a0c..b35bf88533d 100644 --- a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/micro_time.go +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/micro_time.go @@ -57,50 +57,24 @@ func NowMicro() MicroTime { return MicroTime{time.Now()} } -// IsZero returns true if the value is nil or time is zero. -func (t *MicroTime) IsZero() bool { - if t == nil { - return true - } - return t.Time.IsZero() -} - // Before reports whether the time instant t is before u. -func (t *MicroTime) Before(u *MicroTime) bool { - if t != nil && u != nil { - return t.Time.Before(u.Time) - } - return false +func (t MicroTime) Before(u MicroTime) bool { + return t.Time.Before(u.Time) } // Equal reports whether the time instant t is equal to u. -func (t *MicroTime) Equal(u *MicroTime) bool { - if t == nil && u == nil { - return true - } - if t != nil && u != nil { - return t.Time.Equal(u.Time) - } - return false +func (t MicroTime) Equal(u MicroTime) bool { + return t.Time.Equal(u.Time) } // BeforeTime reports whether the time instant t is before second-lever precision u. -func (t *MicroTime) BeforeTime(u *Time) bool { - if t != nil && u != nil { - return t.Time.Before(u.Time) - } - return false +func (t MicroTime) BeforeTime(u Time) bool { + return t.Time.Before(u.Time) } // EqualTime reports whether the time instant t is equal to second-lever precision u. -func (t *MicroTime) EqualTime(u *Time) bool { - if t == nil && u == nil { - return true - } - if t != nil && u != nil { - return t.Time.Equal(u.Time) - } - return false +func (t MicroTime) EqualTime(u Time) bool { + return t.Time.Equal(u.Time) } // UnixMicro returns the local time corresponding to the given Unix time diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/micro_time_test.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/micro_time_test.go index 3b274578689..248f6c32e09 100644 --- a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/micro_time_test.go +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/micro_time_test.go @@ -140,115 +140,73 @@ func TestMicroTimeProto(t *testing.T) { func TestMicroTimeEqual(t *testing.T) { t1 := NewMicroTime(time.Now()) - cases := []struct { - name string - x *MicroTime - y *MicroTime - result bool - }{ - {"nil =? nil", nil, nil, true}, - {"!nil =? !nil", &t1, &t1, true}, - {"nil =? !nil", nil, &t1, false}, - {"!nil =? nil", &t1, nil, false}, - } + t2 := NewMicroTime(time.Now().Add(time.Second)) - for _, c := range cases { - t.Run(c.name, func(t *testing.T) { - result := c.x.Equal(c.y) - if result != c.result { - t.Errorf("Failed equality test for '%v', '%v': expected %+v, got %+v", c.x, c.y, c.result, result) - } - }) + if !t1.Equal(t1) { + t.Errorf("Failed equality test for '%v', '%v': t1 should equal t1", t1, t1) + } + if t1.Equal(t2) { + t.Errorf("Failed equality test for '%v', '%v': t1 should not equal t2", t1, t2) } } func TestMicroTimeEqualTime(t *testing.T) { t1 := NewMicroTime(time.Now()) t2 := NewTime(t1.Time) - cases := []struct { - name string - x *MicroTime - y *Time - result bool - }{ - {"nil =? nil", nil, nil, true}, - {"!nil =? !nil", &t1, &t2, true}, - {"nil =? !nil", nil, &t2, false}, - {"!nil =? nil", &t1, nil, false}, - } + t3 := NewTime(time.Now().Add(time.Second)) - for _, c := range cases { - t.Run(c.name, func(t *testing.T) { - result := c.x.EqualTime(c.y) - if result != c.result { - t.Errorf("Failed equality test for '%v', '%v': expected %+v, got %+v", c.x, c.y, c.result, result) - } - }) + if !t1.EqualTime(t2) { + t.Errorf("Failed equality test for '%v', '%v': t1 should equal t2", t1, t1) + } + if t1.EqualTime(t3) { + t.Errorf("Failed equality test for '%v', '%v': t1 should not equal t3", t1, t2) } } func TestMicroTimeBefore(t *testing.T) { - t1 := NewMicroTime(time.Now()) + tBefore := NewMicroTime(time.Now()) + tAfter := NewMicroTime(tBefore.Time.Add(time.Second)) cases := []struct { - name string - x *MicroTime - y *MicroTime + name string + x MicroTime + y MicroTime + result bool }{ - {"nil