-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathinit_test.go
More file actions
48 lines (38 loc) · 841 Bytes
/
Copy pathinit_test.go
File metadata and controls
48 lines (38 loc) · 841 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package egoscale
import (
"testing"
"time"
)
func TestMonotonicRetryStrategyFunc(t *testing.T) {
f := MonotonicRetryStrategyFunc(2)
if f(1) != time.Duration(2)*time.Second {
t.Error("mono(1) = 2")
}
if f(1000) != time.Duration(2)*time.Second {
t.Error("f(1000) = 2")
}
}
func TestFibonacciRetryStrategy(t *testing.T) {
var i int64
if FibonacciRetryStrategy(i) != time.Duration(0) {
t.Error("fib(0) = 0")
}
i++
if FibonacciRetryStrategy(i) != time.Second {
t.Error("fib(1) = 1")
}
i++
if FibonacciRetryStrategy(i) != time.Second {
t.Error("fib(2) = 1")
}
i++
to := FibonacciRetryStrategy(i)
if to != time.Duration(2)*time.Second {
t.Errorf("fib(3) = 2 != %v", to)
}
i += 20
to = FibonacciRetryStrategy(i)
if to != time.Duration(28657)*time.Second {
t.Errorf("fib(23) = 7h57m37s != %v", to)
}
}