...
1 package rand_test
2
3 import (
4 "bytes"
5 mathrand "math/rand"
6 "testing"
7 "time"
8
9 "github.com/aws/smithy-go/rand"
10 )
11
12 func TestUUID(t *testing.T) {
13 randSrc := make([]byte, 32)
14 for i := 16; i < len(randSrc); i++ {
15 randSrc[i] = 1
16 }
17
18 uuid := rand.NewUUID(bytes.NewReader(randSrc))
19
20 v, err := uuid.GetUUID()
21 if err != nil {
22 t.Fatalf("expect no error getting zero UUID, got %v", err)
23 }
24 if e, a := `00000000-0000-4000-8000-000000000000`, v; e != a {
25 t.Errorf("expect %v, got %v", e, a)
26 }
27
28 v, err = uuid.GetUUID()
29 if err != nil {
30 t.Fatalf("expect no error getting ones UUID, got %v", err)
31 }
32 if e, a := `01010101-0101-4101-8101-010101010101`, v; e != a {
33 t.Errorf("expect %v, got %v", e, a)
34 }
35 }
36
37 func BenchmarkUUID_GetUUID(b *testing.B) {
38 src := mathrand.NewSource(time.Now().Unix())
39 uuid := rand.NewUUID(mathrand.New(src))
40
41 for i := 0; i < b.N; i++ {
42 _, err := uuid.GetUUID()
43 if err != nil {
44 b.Fatal(err)
45 }
46 }
47 }
48
View as plain text