// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: MPL-2.0 package helper import ( "testing" "time" "github.com/shoenig/test/must" ) func TestCluster_RandomStagger(t *testing.T) { cases := []struct { name string input time.Duration }{ {name: "positive", input: 1 * time.Second}, {name: "negative", input: -1 * time.Second}, {name: "zero", input: 0}, } abs := func(d time.Duration) time.Duration { return max(d, -d) } for _, tc := range cases { result := RandomStagger(tc.input) must.GreaterEq(t, 0, result) must.LessEq(t, abs(tc.input), result) } }