gitlab.com/jfprevost/gitlab-runner-notlscheck@v11.11.4+incompatible/common/time_test.go (about) 1 // Copyright 2009 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in https://github.com/golang/go/blob/master/LICENSE. 4 // The original code can be found in https://github.com/golang/go/blob/master/src/time/time_test.go 5 // TODO: remove file after upgrading to Go 1.9+ 6 7 package common 8 9 import ( 10 "testing" 11 "time" 12 ) 13 14 // Original tests can be found in https://github.com/golang/go/blob/master/src/time/time_test.go 15 var durationRoundTests = []struct { 16 d time.Duration 17 m time.Duration 18 want time.Duration 19 }{ 20 {0, time.Second, 0}, 21 {time.Minute, -11 * time.Second, time.Minute}, 22 {time.Minute, 0, time.Minute}, 23 {time.Minute, 1, time.Minute}, 24 {2 * time.Minute, time.Minute, 2 * time.Minute}, 25 {2*time.Minute + 10*time.Second, time.Minute, 2 * time.Minute}, 26 {2*time.Minute + 30*time.Second, time.Minute, 3 * time.Minute}, 27 {2*time.Minute + 50*time.Second, time.Minute, 3 * time.Minute}, 28 {-time.Minute, 1, -time.Minute}, 29 {-2 * time.Minute, time.Minute, -2 * time.Minute}, 30 {-2*time.Minute - 10*time.Second, time.Minute, -2 * time.Minute}, 31 {-2*time.Minute - 30*time.Second, time.Minute, -3 * time.Minute}, 32 {-2*time.Minute - 50*time.Second, time.Minute, -3 * time.Minute}, 33 {8e18, 3e18, 9e18}, 34 {9e18, 5e18, 1<<63 - 1}, 35 {-8e18, 3e18, -9e18}, 36 {-9e18, 5e18, -1 << 63}, 37 {3<<61 - 1, 3 << 61, 3 << 61}, 38 } 39 40 func TestDurationRound(t *testing.T) { 41 for _, tt := range durationRoundTests { 42 if got := roundDuration(tt.d, tt.m); got != tt.want { 43 t.Errorf("Duration(%s).Round(%s) = %s; want: %s", tt.d, tt.m, got, tt.want) 44 } 45 } 46 }