|
@@ -16,3 +16,15 @@ func TestExponential(t *testing.T) {
|
|
|
fn := Exponential(time.Second)
|
|
|
assert.EqualValues(t, time.Second, fn(1))
|
|
|
}
|
|
|
+
|
|
|
+func TestLinearWithJitter(t *testing.T) {
|
|
|
+ const rounds = 1000000
|
|
|
+ var total time.Duration
|
|
|
+ fn := LinearWithJitter(time.Second, 0.5)
|
|
|
+ for i := 0; i < rounds; i++ {
|
|
|
+ total += fn(1)
|
|
|
+ }
|
|
|
+
|
|
|
+ // 0.1% tolerance
|
|
|
+ assert.True(t, total/time.Duration(rounds)-time.Second < time.Millisecond)
|
|
|
+}
|